프로그래밍 Programming
셀레늄(selenium)을 이용한 네이버 자동검색 및 결과 클릭
문장전달자
2015. 11. 28. 18:03
728x90
셀레늄을 이용하여 네이버 검색창을 띄우고, 검색 결과 중 특정 문자열을 가지는 결과를 클릭하는 스크립트를 작성해봅니다.
주의! 기본중의 기본이지만 대소문자 구별은 철저하게 헤주세요. ImportError 발생할 수 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #-*- coding: utf-8 -*- from selenium import webdriver from selenium.webdriver.common.keys import Keys # Firefox 웹드라이버 생성 driver = webdriver.Firefox() # 주어진 URL 웹페이지 로딩 driver.get("http://www.naver.com") # 해당 사이트의 제목이 NAVER 인지 확인 assert "NAVER" in driver.title # element 이름으로 검색창의 이름 확인, 파이어폭스에서 F12 키 눌러서 찾을 수 있음. 아래 이미지 참조 elem = driver.find_element_by_name("sform") # 검색어 입력 elem.send_keys("antilibrary") # 검색어 전송 elem.submit() # 검색결과 페이지에서 특정 문자열을 포함하는 링크 텍스트 찾기 elem2 = driver.find_element_by_partial_link_text("Anti") # 해당 링크 클릭 elem2.click() # 검색결과창 종료 driver.close() | cs |
[참고사항]
1) 파이어폭스에서 F12 키를 눌러 해당 엘러먼트의 속성 확인
2) selenium.webdriver.common.keys 에서 특정 Keys 임포트
예를 들어 다음과 같음
elem.send_keys(Keys.RETURN)
더 많은 내용은 http://selenium-python.readthedocs.org/api.html?highlight=selenium.webdriver.common.keys#module-selenium.webdriver.common.keys 참조
3) find_by_element_* 기타 메서드에 대한 정보는 아래 링크 참조
http://selenium-python.readthedocs.org/locating-elements.html#locating-elements
4) 추가 WebDriver API 정보는 아래 참조
http://selenium-python.readthedocs.org/api.html
728x90