Selenium

Jina·2020년 5월 6일
0

Today I Learned

목록 보기
10/21

나만의 웹 크롤러 만들기의 내용을 공부하고 정리하였다.

Selenium

Selenium은 webdriver api를 통해 운영체제에 설치된 브라우저(Chrome 등)를 제어하는 웹 테스트 자동화 도구이다.

Selenium 설치

pip install selenium

Webdriver 설치

selenium을 사용하기 전에 webdriver가 먼저 설치 되어있어야 한다. 설치는 아래와 같이 진행한다.

chrome 버전 확인하기

chrome://version 이용하여 크롬 버전확인 가능


위의 사진에서 상단에 써있는 Chrome : 81.0.4044.129 (공식 빌드) (64비트) 에서 크롬의 버전 정보를 확인할 수 있다. 맨 앞자리 숫자가 버전이다.

여기서의 크롬 버전은 81이다.

Chromedriver 설치하기

위에서 버전을 확인하였으면 여기(ChromeDriver - WebDriver for Chrome)에서 버전과 os에 맞는 chromedriver를 설치하면 된다.

이 때 chromedriver의 설치 경로를 기억해두어야한다.
나의 경우는 /Users/jinachoi/jina/chromedriver 이다.

Selenium 실행하기

selenium으로 naver 사이트를 열어볼 것이다.

from selenium import webdriver # 1

driver = webdriver.Chrome('/Users/jinachoi/jina/chromedriver') # 2 
driver.implicitly_wait(3) # 3
driver.get('https://www.naver.com/') # 4

1) from selenium import webdriver

위의 명령어를 이용하여 webdriver를 import한다.

2) driver = webdriver.Chrome('경로')

webdriver객체를 만들어준다. 여기서는 driver가 객체이다. (이름은 driver가 아니여도 된다.)

위의 명령어에서 Chrome뒤에 있는 경로는 내 컴퓨터에 chromedriver가 존재하는 장소의 위치이다.

3) implicitly_wait(초)

웹 자원이 로드될 때 까지 기다리게 하는 시간
여기서는 3초를 기다리도록 설정한 것이다.

4) driver.get('사이트 주소')

위의 명령어를 통하여 url에 접근할 수 있다.

Selenium method

페이지의 단일 element에 접근하는 method

  • find_element_by_name('HTML_name')
  • find_element_by_id('HTML_id')
  • find_element_by_xpath('/html/body/some/xpath')

페이지의 여러 elements에 접근하는 method

  • find_element_by_css_selector('#css > div.selector')
  • find_element_by_class_name('some_class_name')
  • find_element_by_tag_name('h1')

현재 렌더링 된 페이지의 elements를 모두 가지고 오는 method

  • page_source

0개의 댓글