Selenium 시작하기

SH.KIM·2022년 4월 7일
0

크롤링

목록 보기
1/2

금일 들었던 강의중에 Selenium 사용법에 대하여 들었는데, 꽤 재미있었기에 따로 정리해서 남기려 한다.

Selenium 이란?

Selenium 홈페이지에 가면 위와 같은 문구를 볼 수 있다. 말 그대로인 것 같다. 자동화된 브라우저. BeautifulSoup은 강력하지만 자바스크립트가 동적으로 생성되는 정보는 가져올 수 없는데 Selenium은 그것을 가능하게 해줍니다.

또한, 사이트에서 다양한 이벤트를 만들어 수행할 수 있습니다. 예를 들어, 마우스를 클릭 한다던지, 키보드로 문자를 입력할 수도 있구요. 조금 더 생각해보면 반복적인 웹 업무를 수행하면서 업무 자동화를 구현할 수 있습니다.

Selenium 설치하기

학습환경

필자는 학습환경은 다음과 같습니다.

  • OS: Windows 10 (64-bit)
  • Python: v3.8 on Miniconda
  • Jupyter notebook

따라서, 이후 과정은 이 환경에서 이루어진다고 가정합니다. 그리고 최대한 공식 홈페이지의 내용을 따라가겠습니다.

모듈 설치하기

모든 Python 모듈이 그러하듯 pip를 이용하여 손쉽게 설치가 가능합니다.

pip install selenium

브라우저 드라이버 설치

사실 이 부분을 쓰기위해 이 글을 쓰고 있습니다. 공식문서를 보던 도중 아래와 같이 3가지 방법으로 드라이버를 설정해서 사용합니다.

  1. Driver Management 소프트웨어
  2. PATH 환경변수에 등록
  3. 드라이버 위치 하드코딩

위 방법 중에 1번째 방법을 시도하려고 합니다.

Webdriver Manager 설치

공식문서에서는 그냥 import 하는 부분부터 나오지만 사실 그 위에 Webdriver Manager의 Github가 링크되어 있습니다. 해당 링크를 따라가 보면 다음과 같이 설치하는 방법이 나옵니다.

pip install webdriver-manager

크롬 브라우저 드라이버 설치 및 확인

Webdriver Manager의 모듈을 설치하고 나면 각 브라우저별로 예제가 나와 있습니다. 저는 Selenium 4.x 버전을 설치했기에 공식문서에 나온 내용보다는 Webdriver Manager 에서 나온 예제를 따라해 보겠습니다.

# selenium 4
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))

위 코드를 수행하면 아래와 같은 메시지가 나오면서 크롬 브라우저가 뜹니다.

====== WebDriver manager ======
Current google-chrome version is 100.0.4896
Get LATEST chromedriver version for 100.0.4896 google-chrome
There is no [win32] chromedriver for browser 100.0.4896 in cache
Trying to download new driver from https://chromedriver.storage.googleapis.com/100.0.4896.60/chromedriver_win32.zip
Driver has been saved in cache [C:\Users\zbooster\.wdm\drivers\chromedriver\win32\100.0.4896.60]

내용을 보니 현재 브라우저와 OS에 맞추어 설치를 진행해준다를 것을 알수 있습니다. 정상적으로 브라우저가 떴으면 아래와 같은 코드로 종료도 시도해 봅니다.

driver.quit()

Selenium 스크립트 작성

1. 세션 시작

이전에 Webdriver Manager를 이용하여 설치를 진행했으니 이후 과정도 Webdriver Manager를 이용하겠습니다.

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))

2. 브라우저에서 활동

첫 탐색 페이지로 구글로 이동해보겠습니다.

driver.get("http://www.google.com")


위에 "Chrome이 자동화된 테스트 소프트웨어에 의해 제어되고 있습니다."라고 뜨면서 이동함을 확인할 수 있습니다.

레퍼런스

profile
다시 도약하려 노력해보자

0개의 댓글