NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 팁 앤 테크
  • 매뉴얼

    팁과 테크니컬 노하우를 확인하세요.

    팁 앤 테크

    팁과 테크니컬 노하우를 확인하세요.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    에디터 크롬 또는 엣지 웹브라우저를 멅티로 실행하고, 매크로를 동작시키는 방법. (Web API)

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 크롬과 엣지, 네이버 웨일은 크로미움을 베이스로 만들어진 웹브라우저입니다. 그래서, 엔지엠 매크로의 웹 API를 이용해서 멀티 다클라 매크로를 제작할 수 있고, 각각 동작시킬 수 있습니다. 아래는 크로미움을 베이스로 만든 웹브라우저 목록입니다.

    • 크롬
    • 엣지
    • 오페라
    • 네이버 웨일
    • 비발디
    • 브레이브
    • 삼성인터넷
    • 얀덱스 브라우저

     

    이 내용을 학습하기 전에 DevTools에 대한 사전 지식이 필요한데요. 이 부분은 나중에 하나씩 자세하게 알아보기로 하고 일단 테스트를 진행 해보도록 하겠습니다. 우선은 크롬의 바로 가기를 2개 생성 해주세요. 저는 바탕화면에 아래와 같이 만들어 두었습니다. 멀티 실행을 확인하기 위해 바로가기의 이름을 아래와 같이 변경 했습니다. 구글 크롬 뒤에 4자리 숫자가 중요합니다.

    • Google Chrome 9001
    • Google Chrome 9002

    Xtd2fpC.png

     

     

    멀티로 제어하려면 파일 읽기/쓰기가 독립적이어야 합니다. 구글 크롬이 실행되면 사용자가 방문한 사이트 또는 쿠기 정보와 설정 및 확장들이 관리됩니다. 멀티로 하나의 설정을 공유하면 읽기/쓰기에서 에러가 발생합니다. 간단하게 메모장이나 엑셀과 같은 프로그램이 하나의 파일을 동시에 수정할 수 없는것과 같습니다. 좀 더 유식하게 동시성이라고 부릅니다. 동시성 에러가 발생할 것으로 예측되는 상황을 해결하기 위해 가시성을 사용합니다. 원론적인 내용은 아니지만, 데이타를 관리하는 관점에서 자주 언급되는 용어입니다. 이 이야기를 왜 했냐면~ 구글 웹브라우저가 관리하는 프로필 폴더를 만들어야 하기 때문입니다. 서로 다른 2개의 웹브라우저가 각각 실행될 때 하나의 프로필 폴더에 접근하면 에러가 발생하기 때문입니다. 그래서, 아래와 같이 바탕화면에 프로필 폴더를 2개 만들었습니다.

    rPNzxW7.png

    • 동시성 : 어떤 두 사건이 같은 시간에 일어나는 것
    • 가시성 : 자료의 구조가 갖고 있는 복잡한 부분이 프로그래머나 사용자 눈에는 보이지 않게 돼 있는 상태
    • 원자성 : 어떤 것이 더 이상 쪼개질 수 없는 성질. 어떤 것이 원자성을 갖고 있다면 원자적이라고 합니다.
      어떤 작업이 실행될 때 언제나 완전하게 진행돼 종료되거나 그럴 수 없는 경우 실행을 하지 않는 경우를 말합니다.
      원자성을 갖는 작업은 실행되어 진행되다가 종료하지 않고 중간에서 멈추는 경우는 있을 수 없습니다.

     

    Google Chrome 9001 바로가기를 우클릭한 후 속성에 들어가세요.

    • "C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9001 --user-data-dir="C:\Users\ngmas\Desktop\Chrome\UserData\Profile 1"

    ZhDGImC.png

     

     

    위 내용을 참고해서 Google Chrome 9002 바로가기 속성도 변경하세요. 프로필은 2이고, 포트는 9002입니다. 여기까지 기본 설정 작업이 완료되었으면 바로가기 아이콘을 더블 클릭해서 2개의 웹브라우저를 실행하세요. 또는 엔지엠 매크로의 [ 윈도우 커멘드 ] 액션을 사용해서 자동 실행되도록 해도 됩니다.

    ※ 자동 실행의 경우 매크로를 실행 > 중지 > 실행과 같은 플로우에서 중복 실행되지 않도록 추가적인 작업이 필요합니다.

     

    엔지엠 매크로 에디터를 실행하고, 새로운 스크립트를 하나 추가하세요.

    cnOuw3h.gif

     

     

    아래 그림과 같이 웹 API의 연결 액션을 2개 추가 해주세요.

    • 자동 종료: False
    • 웹드라이버 설치: True
    • 웹사이트 주소: http://ngmsoftware.com
    • 추가기능: 추가 기능 이름 (debuggerAddress), 추가 기능 값 (127.0.0.1:9001)

    gENpJzo.png

     

     

    두번째 연결 액션은 아래와 같이 설정하세요.

    • 자동 종료: False
    • 웹드라이버 설치: True
    • 웹사이트 주소: https://google.com
    • 추가기능: 추가 기능 이름 (debuggerAddress), 추가 기능 값 (127.0.0.1:9002)

    fnOCs9Q.png

     

     

    이제 매크로를 실행 해볼까요? 각각 브라우저가 실행되고 사이트가 따로 이동하는걸 확인할 수 있습니다. 이렇게 9001, 9002로 세션이 분리된 브라우저는 각각 제어가 가능합니다. 컴퓨터 성능이 된다면 20개, 30개도 실행할 수 있습니다. 다만, 구글 크롬이 GPU를 사용하는 만큼 그래픽 카드 성능이 좌우합니다.

     

     

    위 동영상에서는 첫번째 크롬 웹브라우저에서 페이지 이동까지 테스트 해봤습니다. 각각의 브라우저는 세션을 가지는데요. 세션 이름은 직관적이지 않습니다. 따라서, 엔지엠 매크로는 액션 아이디로 구분하여 각각 제어가 가능합니다. 웹 API 뿐만 아니라 웹 소켓 또는 윈도우 API를 이용해서 제어할수도 있습니다.

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.