유료 매크로 프로그램 다운로드
http://ngmsoftware.com/bbs/board.php?bo_table=product_review
#매크로 #메크로 #매크로프로그램 #엔지엠소프트웨어 #엔지엠에디터 #엔지엠플레이어 #비활성매크로 #하드웨어매크로 #기계식매크로 #마우스광클릭 #키보드매크로 #이미지서치 #이미지매치 #블로그 #카페 #인스타그램 #유튜브 #소셜네트워크 #카카오톡 #텔레그램 #자동화
안녕하세요. 업무 자동화 RPA 매크로 오토픽입니다.
웹브라우저(크롬, 파이어폭스, 사파리, 웨일, 엣지등등...)에서 여러개의 창을 실행해두고, 동일하게 매크로 작업하는 방법에 대해 알아보겠습니다.
이 글은 구글의 크롬 웹브라우저를 대상으로 만들어졌지만, 웹 API를 사용하는 방식이 아니라서 다른 브라우저도 동일하게 적용할 수 있습니다.
웹브라우저를 멀티로 제어하더라도 웹 API.를 사용하는게 좋은 방법이긴 합니다.
하지만, 웹브라우저는 하나의 인스턴스에 탭 또는 서브 브라우저로 실행되기 때문에 셀레니움이나 오토픽의 웹 API로 멀티 인스턴스를 제어할 수 있습니다.
그래서, 여러대의 컴퓨터에서 작업을 해야 합니다. 일반적으로 컴퓨터를 다수 사용하거나 VMware와 같은 가상화를 이용합니다.
이외에도 셀레니움 그리드(Selenium Grid)를 이용할 수 있습니다. 셀레니움 그리드도 별도의 하드웨어가 필요하기에 비용이 발생합니다.
복잡한 웹업무가 아닌 간단한 내용이라면 이 글을 참고하시면 도움이 될듯 합니다.
먼저, 오토픽 에디터를 실행하고 브라우저를 여러개 실행 해볼께요. 아래 그림과 같이 윈도우 카테고리의 커멘드 라인을 추가하세요.
추가된 커멘드 라인 액션을 선택하고 오른쪽 속성창에서 프로세스 이름에 크롬 실행 파일을 입력해줍니다.
아래 크롬 실행 파일 경로는 컴퓨터마다 다를 수 있습니다. 자신의 컴퓨터에 맞는 내용을 입력하세요.
- C:\Program Files\Google\Chrome\Application\chrome.exe
크롬 브라우저를 5개 실행하도록 하겠습니다. 함수 상자의 함수 카테고리에서 포 반복 액션을 추가하세요.
속성창에서 반복 횟수를 5로 설정하세요.
변수를 2개 추가하고, 각각 아이디를 설정하세요.
이제 크롬 웹브라우저가 실행되면 크롬을 각각 정렬해야 합니다.
사칙 연산을 통해 반복한 횟수에 30을 곱해줍니다. 이렇게하면 반복이 0, 1, 2, 3, 4와 같이 되므로 각각의 창을 원하는 간격으로 띄울 수 있습니다.
현재 각각의 창 간격은 30입니다.
창을 이동시키는 값은 Point라는 X, Y 값입니다. 위에서 연산한 값은 정수형 숫자라서 변환이 필요합니다.
따라서, 문자열 연결 액션으로 콤마를 연결자로 좌표 값을 만듭니다.
마지막으로 프로그램 제어를 통해 실행된 웹브라우저를 모니터 기준 좌측 상단 0, 30, 60, 90, 120으로 정렬합니다.
그리고, 창을 제어하기 위해서 각각 크기도 조정해줬습니다. 크기는 500, 500입니다.
이 스크립트를 실행하면 아래 그림처럼 웹브라우저가 실행되고, 칭들이 정렬됩니다.
프로세스가 각각 할당되는 프로그램의 경우에는 프로그램 제어 액션으로 쉽게 창들을 배치할 수 있습니다.
이제 각각의 브라우저에서 마우스 클릭이 동작해야 하는데요.
테스트를 위해서 브라우저의 주소 입력창을 클릭해서 네이버로 이동하도록 해보겠습니다.
이후에 추가되는 마우스와 키보드를 모두 비활성으로 동작시키기 위해서 아래와 같이 설정했습니다.
장치 입력 방법에서 모두 비활성으로 동작하도록 PostMessage로 설정하세요.
그리고, 옵션에서 마우스와 키보드 입력 전 창 활성화해야 합니다. 일부 동작은 창이 활성화된 상태에서만 동작하기 때문입니다.
이 내용은 초기 설정이라서 문제가 되지는 않을듯 하지만, 본 매크로에서는 창이 활성화되지 않아도 동작하도록 해볼께요.
이제 모든 창의 핸들을 추가해야 하는데요. 크롬은 아래와 같이 매인 안에 서브 프로세스로 창들이 만들어집니다.
따라서 각각 개별적인 프로세스가 아니라서 기존의 핸들 추가 방식으로는 제어할 수 없습니다.
이 문제를 해결하려면 웹 API를 사용해야 하지만, 웹 API의 셀레니움 인스턴스는 멀티 실행이 불가능합니다.
앞서 언급했듯이 그리드 환경을 만들어야 하는데요. 이렇게하면 각각의 머신이 필요하기 때문에 많은 비용이 발생하게 됩니다.
최소한의 비용으로 최대의 효과를 얻기 위해서 어느정도 로직적인 부분은 포기해야 합니다.
아래와 같이 각각의 창 핸들을 좌표로 설정하세요. 이렇게하면 각각 제어할 수 있게됩니다.
핸들 찾기 옵션을 Mouse로 선택하고, 좌표를 각각의 매인창으로 설정하세요.
자세한 내용은 아래 동영상에서 확인할 수 있습니다.
창 핸들이 모두 추가되었기 때문에 비활성에서는 추가된 창 핸들만큼 마우스와 키보드가 동작합니다.
그래서, 마우스와 키보드는 창 갯수만큼 추가할 필요가 없습니다.
마우스 클릭은 첫번째 창의 주소 입력하는 곳을 설정하세요.
키보드 쓰기에서 네이버의 뉴스로 이동하도록 주소를 입력했습니다.
그리고, 입력 속도를 1로 설정해야 합니다. 한번에 입력되면 좋겠지만, 비활성 모드에서는 한번에 입력되지 않습니다.
이는 프로그램마다 다른데요. 크롬의 경우에는 주소를 한번에 입력하는 기능이 동작하지 않습니다.
마지막으로 주소를 다 입력했으면 엔터키를 눌러서 네이버 뉴스로 이동하세요.
여기까지 1부의 내용을 마치도록 하겠습니다. 2부에서는 비활성으로 각각의 창에서 마우스 클릭과 키보드 입력에 대해서 알아보도록 할께요.
이 스크립트의 자세한 내용은 아래 동영상을 참고하세요.
감사합니다.
[ 각종 자동화 매크로 및 RPA 프로그램 제작 해드립니다. ]
[ 초보자도 쉽게 따라할 수 있는 기초 학습 강좌 보기 ]
원본 글 보기
http://ngmsoftware.com/bbs/board.php?bo_table=tip_and_tech
'매크로' 카테고리의 다른 글
네이버 / 티스토리 / 카페 마케팅 자동 매크로 (6) | 2024.11.14 |
---|---|
다수의 멀티 웹브라우저 동시에 마우스 클릭 키보드 입력 매크로 (0) | 2024.11.14 |
카카오톡 오픈 채팅방 자동 발송 매크로 (0) | 2024.11.14 |
ctrl 연타 매크로 (0) | 2024.11.14 |
카톡 내용 엑셀화 하기 (비활성 매크로) (0) | 2024.11.14 |
댓글