NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • NGM 6
  • 매뉴얼

    NGM 6

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

    에디터 외부 API - 웹소켓 - 연결. (External API, Web Socket, Connection)

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 엔지엠 매크로에서 웹 업무를 자동화할 때 일반적으로 외부 API의 웹 API 액션들을 사용합니다. 하지만, 웹 API의 액션들은 셀레니움(Selenium) 기반으로 동작하기 때문에 일부 환경에서 제약이 있을 수 밖에 없습니다. 셀레니움 기반의 웹 API가 아닌 웹소켓을 사용하여 문제가 되는 제약을 벗어날 수 있습니다. 아래와 같이 엔지엠 매크로 에디터를 실행하고, 새로운 스크립트를 하나 추가하세요.

    cnOuw3h.gif

     

     

    아래 그림과 같이 외부 API의 웹소켓 카테고리에서 연결 액션을 스크립트에 추가하세요.

    Ld6M2A5.jpg

     

     

    웹소켓을 연결할 웹브라우저는 구글 크롬과 마이크로소프트의 엣지 2종류가 제공됩니다. 추후에는 더 추가될 예정입니다. (파이어폭스, 사파리등등...)

    qqo8OOn.jpg

     

     

    매크로를 실행하면 아래 동영상과 같이 구글 크롬 웹브라우저가 실행됩니다.

     

     

    연결 액션의 속성에는 사용자 프로필 경로가 있습니다. 사용자 프로필 경로를 사용중인 폴더로 선택하면 평소에 사용하는 구글 크롬이나 마이크로소프트 엣지와 같이 사용할 수 있습니다. 아무것도 입력하지 않으면 기본적으로 크롬이나 엣지의 설정을 가져옵니다. 완전히 새로운 브라우저에서 실행하려면 프로필 폴더를 생상하세요. 테스트를 위해 아래와 같이 바탕화면에 Chrome 폴더를 만들고, 안에 UserData 폴더를 만드세요.

    juWM0if.jpg

     

     

    사용자 프로필에 아래와 같이 입력하세요.

    • C:\Users\ngmas\Desktop\Chrome\UserData\Profile 1

    8GpkE5m.jpg

     

     

    매크로를 실행하면 프로필이 정상적으로 생성된걸 확인할 수 있습니다. 크롬 브라우저도 초기화된 상태로 실행됩니다. 항상 크롬 또는 엣지 브라우저를 초기화된 상태로 실행하려면 프로필 폴더를 삭제하면 됩니다. 업무 로직 마지막에 [ 폴더 삭제 ] 액션을 사용하세요.

     

     

    만약, 기존에 실행중인 웹브라우저에 연결하려면 아래 새 웹브라우저 옵션을 False로 변경하세요.

    LoJlMh1.jpg

     

     

    웹브라우저 옵션은 웹브라우저가 실행될 때 설정하는 옵션 값들입니다. 기본적인 설정 값들은 내부에 저장되고, 실행할 때 이전 값들이 복구됩니다. 하지만, 이전 값이 변경되면 안되는 경우 고정해서 사용해야 할 필요가 있습니다. 예를 들어 창 크기나 창 위치 또는 사용자 프로필 폴더등등... 다양합니다. 이 옵션은 웹브라우저가 실행될 때 설정되어야 하므로 새 웹브라우저 옵션이 True여야 합니다. 이미 실행중인 브라우저에는 적용할 수 없습니다.

    sZ5FlPP.jpg

     

     

    웹브라우저 파일 선택 속성은 사용자가 직접 구글 크롬 또는 마이크로소프트의 엣지 실행 파일을 선택하는 옵션입니다. 이 옵션을 설정하지 않아도 자동으로 감지하여 실행됩니다. 하지만, 일부 컴퓨터 환경이 다른 경우에는 직접 실행 파일을 선택해야 할수도 있습니다.

    PPVWev1.jpg

     

     

    가장 중요한 개념인 웹소켓 포트 설정입니다. 셀레니움을 사용해보신 분들은 대부분 알고 계실텐데요. 웹브라우저에 웹소켓이 연결된 후 동기화 하려면 웹소켓 연결 포트를 알아야 합니다. 해당 소켓을 유지하고 포트 정보로 데이타를 주고 받습니다. 윈도우에서 이미 사용중인 포트는 웹소켓 포트로 사용할 수 없습니다. 기본 값은 9000입니다. 만약, 한 컴퓨터에서 여러개의 웹브라우저를 실행하면서 동시에 작업하려면 웹소켓 포트를 9001, 9002, 9003... 과 같이 증가시키면서 처리하세요. [ 숫자 증감 ] 액션을 사용하면 쉽게 처리할 수 있습니다.

    WIQ6dwn.jpg

     

     

    마지막으로 팝업 허용 속성은 광고나 기타 팝업들을 차단할지 여부를 선택합니다. 자동화가 아닌 경우에는 일반적으로 팝업 허용을 하지 않습니다. 브라우저 알람에 팝업 요청이 뜨기 때문에 확인 후 결정할 수 있기 때문입니다. 하지만, 업무 자동화는 어떤 특정 사이트를 대상으로 테스트 프로그램 또는 자동화 프로그램을 만드는거라서 어느정도 팝업 표시 여부를 어떻게 처리할지 알고 있습니다. 그래서, 팝업 허용 옵션의 기본 값은 True로 설정되어 있습니다.

    ao8DsHv.jpg

     

     

    개발자에게 후원하기

    MGtdv7r.png

     

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

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

    감사합니다~

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

    댓글목록

    profile_image

    엔지엠소프트웨어님의 댓글

    엔지엠소프트웨어 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일 Date

    개발자 도구 열기 속성 추가

    개발자 도구 열기 속성을 ture로 설정하면 웹브라우저의 개발자 도구가 자동으로 열립니다.
    그리고, 웹브라우저에서 페이지가 바뀔 때 자동으로 개발자 도구가 갱신됩니다.