에디터 크로미움 엘리먼트 명령으로 네이버 검색 조회하는 방법. (Click, Text, WaitForSelector)
페이지 정보
본문
안녕하세요. 엔지엠소프트웨어입니다. 엔지엠 매크로의 새로운 기능인 크로미움 API에 대해 알아보겠습니다. 이번 예제는 간단하게 네이버에서 특정 키워드로 상품을 검색하고, 조회수를 올리는 방법을 알아보겠습니다. 참고로, 셀레니움 기반의 웹 API를 사용해도 되고 웹소켓 API를 사용해도 결과는 동일합니다. 다만, 사용하는 웹브라우저와 API가 다를뿐 베이스(Base)는 같습니다. 이 예제를 테스트하려면 크로미움 기본 설정을 먼저 만들어야 합니다.
[ 외부 API - 크로미움 API - 세션 목록. (External API, Chromium API, Session List) ]
위 예제를 학습했다면 아래와 같이 변수 추가부터 [ 세션 목록 ]까지 스크립트가 만들어졌을겁니다.
웹소켓 명령 액션을 추가하고, 아래 그림과 같이 세션 목록 아래에 4개를 추가하세요.
웹소켓 명령은 어떤 웹브라우저에 명령을 수행할지 알려줘야 합니다. 이전 예제에서 배운것처럼 연결 액션에서 만들어진 웹브라우저에 명령을 보내야 합니다. 한가지 알아둘점은 웹브라우저는 여러개의 탭으로 이루어져 있다는것입니다. 그래서, 세션 목록 액션으로 페이지(탭)를 가져와서 웹소켓 명령으로 가져옵니다.
- 메소드 선택: PageNavigate
- 파라메터: https://naver.com
매크로를 실행하면 웹브라우저가 실행되고, 네이버로 페이지가 이동됩니다. 웹소켓 명령으로 엘리먼트를 가져올 수 있습니다. 또한, 엘리먼트가 로딩되었는지도 확인할 수 있습니다. WaitForSelector 메소드는 셀렉터로 엘리먼트를 미리 검사할 수 있습니다. #query는 네이버의 검색창입니다.
- 메소드 선택: WaitForSelector
- 파라메터: #query
찾은 엘리먼트를 변수에 저장해줍니다. 엘리먼트(Element: 요소)는 웹페이지의 작은 단위 요소를 말합니다. 검색창, 검색 버튼, 체크 박스, 드롭 다운 리스트와 같은 사용자 상호작용 컨트롤뿐만 아니라 텍스트와 링크, 그림등등... 모든 것들을 의미합니다.
WaitForSelector 메소드로 네이버에 연결한 후 검색창이 로딩되었는지 체크했습니다. 검색창이 로딩되었으면 검색어를 입력해야겠죠? 파라메터의 셀렉터에 네이버 검색창을 입력하고, 검색창에 입력할 검색 키워드를 text 속성에 넣어줍니다. 여기서는 "NGM 매크로"가 검색할 상품의 키워드입니다. 엘리먼트 명령 액션을 사용해서 텍스트를 입력할 수도 있습니다. 하지만, 엘리먼트 명령 액션은 아래에서 알아보기로 하겠습니다.
- 메소드 선택: Text
- 파라메터: { "selector" : "#query", "text" : "NGM 매크로" }
위에서 네이버 검색창에 "NGM 매크로"를 입력했습니다. 여기서 엔터를 눌러서 검색해도 되지만, 지금은 돋보기 모양의 검색 버튼을 클릭할께요. 돋보기 버튼을 웹소켓 명령으로 클릭해도 되지만, 엘리먼트 명령으로 클릭하도록 할께요. WaitForSelector로 돋보기 버튼을 가져와서 변수에 저장하세요.
- 메소드 선택: WaitForSelector
- 파라메터: #sform > fieldset > button
검색 돋보기 버튼 엘리먼트를 변수에 추가하세요.
엘리먼트 명령 액션을 추가하세요.
엘리먼트 명령 액션에서 딱히 설정할건 없습니다.
- 메소드 선택: Click
- 파라메터: N/A
클릭 메소드에는 아래와 같은 옵션을 설정할 수 있습니다. 웹소켓 명령의 클릭 메소드도 동일합니다.
- mouseButton: Left, Right, Middle, Back, Forward 기본값: Left
- clickCount: 클릭 횟수입니다. 기본값: 1
- delay: 마우스 다운과 업 사이의 지연 시간(milliseconds)입니다. 기본값: 0
- offsetX: 테두리 상자의 왼쪽 상단 모서리를 기준으로 클릭 가능한 지점의 X 오프셋입니다.
- offsetY: 테두리 상자의 왼쪽 상단 모서리를 기준으로 클릭 가능한 지점의 Y 오프셋입니다.
매크로를 실행하면 아래 동영상처럼 웹브라우저가 실행되고 네이버에서 "NGM 매크로"를 검색합니다.
개발자에게 후원하기
추천, 구독, 홍보 꼭~ 부탁드립니다.
여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~
감사합니다~
- 이전글크로미움 프레임 명령으로 네이버 블로그의 내용 가져오는 방법. (Frame Command) 23.11.15
- 다음글웹소켓 API의 웹브라우저 콘트롤을 이용해서 브라우저에 자바스크립트 실행하기. (마우스 스크롤, RuntimeEvaluate) 23.10.31
댓글목록
등록된 댓글이 없습니다.