본문 바로가기

프로그래밍&IT/파이썬

[파이썬] 웹 스크래핑.5 - Selenium 기본

Selenium ? 

  • 자동화된 웹 테스트를 수행할 수 있도록 해주는 프레임워크.
  • 아파치 라이선스하에 오픈소스로 자유로이 이용이 가능.

<나무위키 참조 내용>

 

기존 크롤러와는 달리,

로그인 수행이나 설문조사에 참여할 수 있게 하기 도하는 등

웹에서의 작업을 대신 맡길 수 있다.

 

  1. 먼저 설치되어 있는 크롬에 맞는 Driver를 download해야한다.  

   1) 설치되어있는 크롬의 버전을 알기 위해서, 주소창에 " chrome://version "을 입력

   2) 도움말 -> 크롬 정보

 

  2. 크롬 드라이버 다운로드 ( 다운로드 사이트 이동)  

다운로드 사이트에 이동한 후에,

설치된 크롬에 맞는 버전의 드라이버를 다운로드하고,

python 프로젝트 파일에 위치시킨다.

  3. 셀레니움 설치  

터미널 창에서 "pip install Selenium"을 수행한다.

 

* webdriver 객체를 생성하고, 띄우고자 하는 site url를 입력한다

from selenium import webdriver

browser = webdriver.Chrome("chromedriver") # wbedriver 객체 생성
browser.get("http://naver.com") # naver 페이지 띄우기

사이트 띄우기

* 불러온 webdriver를 이용해서 브라우저 조작하기

# 원하는 tag 찾기
element = browser.find_element_by_id("query") # id로 찾기
element = browser.find_element_by_name("q") # name으로 찾기
element = browser.find_element_by_xpath("//*[@id]") # xpath로 찾기

element.get_attribute("href") # 어트리뷰트 얻기

# tag 초기화
browser.find_element_by_id("query").clear()

# 브라우저 조작
browser.back() # 브라우저 뒤로
browser.forward() # 브라우저 앞으로
browser.refresh() # 브라우저 refresh

# tag 동작
element.click() # 버튼 클릭 (선택한것이 버튼이라는 전제하에)

# 해당 tag에  key 값 입력위해서
from selenium.webdriver.common.keys import Keys

element.send_keys("입력할 문자열") # textbox 일경우, 입력하기
element.send_keys(Keys.ENTER) # Enter 키 입력

# html 정보 출력
browser.page_source

# 브라우저 종료
browser.close() # 현재 탭
browser.quit()

Selenium 기초