from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
# 드라이버 생성
# chromedriver 설치된 경로를 정확히 기재해야 함
# chromedriver = 'C:/dev_python/Webdriver/chromedriver.exe' # 윈도우
chromedriver = '/usr/local/Cellar/chromedriver/chromedriver' # 맥
driver = webdriver.Chrome(chromedriver)
# 크롤링할 사이트 호출
driver.get("http://www.python.org")
# Selenium은 웹테스트를 위한 프레임워크로 다음과 같은 방식으로 웹테스트를 자동으로 진행함 (참고)
assert "Python" in driver.title
# <input id="id-search-field" name="q" 검색창 name으로 검색하기
# 태그 name으로 특정한 태그를 찾을 수 있음
elem = driver.find_element_by_name("q")
# input 텍스트 초기화
# elem.clear()
# 키 이벤트 전송가능함
# 태그가 input 태그이므로 입력창에 키이벤트가 전달되면, 입력값이 자동으로 작성됨
elem.send_keys("pycon")
# 태그가 input 태그이므로 엔터 입력시 form action이 진행됨
elem.send_keys(Keys.RETURN)
# Selenium은 웹테스트를 위한 프레임워크로 다음과 같은 방식으로 웹테스트를 자동으로 진행함 (참고)
assert "No results found." not in driver.page_source
# 명시적으로 일정시간을 기다릴 수 있음 (10초 기다림)
time.sleep(10)
# 크롬 브라우저 닫기 가능함
driver.quit()
확인 사항
다음 코드부터는 Selenium을 사용할지, PhantomJS를 사용할지를 정해서
드라이버를 생성하는 코드를 자신의 로컬 환경에 맞게 넣어주신 후에
실행을 하셔야 합니다.
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
# 드라이버 생성 방법1 (selenium)
# chromedriver = 'C:/dev_python/Webdriver/chromedriver.exe' # 윈도우
# chromedriver = '/usr/local/Cellar/chromedriver/chromedriver' # 맥
# driver = webdriver.Chrome(chromedriver)
# 드라이버 생성 방법2 (phantomJS)
# driver = webdriver.PhantomJS('C:/dev_python/phantomjs-2.1.1-windows/bin/phantomjs.exe') # 윈도우
driver = webdriver.PhantomJS('/usr/local/Cellar/phantomjs/2.1.1/bin/phantomjs') # 맥
driver.get("http://www.python.org")
print (driver.current_url)
print (driver.title)
elem = driver.find_element_by_name("q")
# input 텍스트 초기화
elem.clear()
# 키 이벤트 전송
elem.send_keys("python")
# 엔터 입력
elem.send_keys(Keys.RETURN)
# 스크린샷도 찍을 수 있습니다.
driver.set_window_size(1400, 1000)
elem.screenshot("pycon_event.png")
assert "No results found." not in driver.page_source
driver.quit()
from selenium import webdriver
# driver = webdriver.PhantomJS('C:/dev_python/phantomjs-2.1.1-windows/bin/phantomjs.exe') # 윈도우
driver = webdriver.PhantomJS('/usr/local/Cellar/phantomjs/2.1.1/bin/phantomjs') # 맥
driver.get('http://v.media.daum.net/v/20170202185812986')
# 최초 발견한 태그만 검색
title = driver.find_element_by_tag_name('h3')
print (title.text)
# 모든 태그 검색
h3s = driver.find_elements_by_tag_name('h3')
for h3 in h3s:
print (h3.text)
driver.quit()
from selenium import webdriver
# driver = webdriver.PhantomJS('C:/dev_python/phantomjs-2.1.1-windows/bin/phantomjs.exe') # 윈도우
driver = webdriver.PhantomJS('/usr/local/Cellar/phantomjs/2.1.1/bin/phantomjs') # 맥
driver.get('http://v.media.daum.net/v/20170202185812986')
body = driver.find_element_by_id('harmonyContainer')
print (body.text)
driver.quit()