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
'프로그래밍 Programming' 카테고리의 다른 글
장고 포럼 비교 Django Forum Comparison (0) | 2015.12.02 |
---|---|
아나콘다 다중 환경구성 _ 파이썬 3.5 환경 구성하기 Create a Python 3.5 environment (0) | 2015.12.01 |
셀레늄(Selenuim) 설치 및 테스팅 (윈도우/파이썬) (0) | 2015.11.28 |
object has no attribute 'title' and getattr(object, name[, default]) (0) | 2015.11.20 |
feedparser 5.2.1 (universal feed parser) (0) | 2015.11.14 |