오답노트

[selenium] selenium 간단 사용법 본문

Python/Web Crawling

[selenium] selenium 간단 사용법

권멋져 2022. 8. 5. 22:18

selenium

selenium은 브라우저의 자동화 목적으로 만들어진 다양한 브러우저를 제어할 수 있도록 하는 라이브러리

 

selenium 사용준비

라이브러리 설치

!pip install selenium

파이썬에서 해당 소스를 실행시켜 selenium을 설치하자.

 

webdriver 설치

https://chromedriver.chromium.org/downloads

 

ChromeDriver - WebDriver for Chrome - Downloads

Current Releases If you are using Chrome version 104, please download ChromeDriver 104.0.5112.79 If you are using Chrome version 103, please download ChromeDriver 103.0.5060.134 If you are using Chrome version 102, please download ChromeDriver 102.0.5005.6

chromedriver.chromium.org

자신의 Chrome 브라우저의 버전에 맞게 위 사이트에서 webdriver를 다운로드한다.

 

2.2 Chrome 정보 확인
2.3 Chrome 버전 확인2

 

다운로드 받은 webdriver는 실습을 진행할 py파일과 같은 경로에 위치시킨다.

 

selenium 사용 예

selenium은 브라우저를 직접 제어한다.

그러므로 브라우저가 HTML을 받아 화면에 출력할 때까지 기다려야한다.

만약 그 전에 코드를 먼저 실행하면 코드는 정상적으로 작동하지 않을 수 있다.

from selenium import webdriver
from selenium.webdriver.common.by import By

# 크롬을 실행하는 driver 객체를 만들면 크롬이 실행된다.
driver = webdriver.Chrome()

# driver 객체의 get메소드를 사용해서 원하는 URL로 이동할 수 있다.
driver.get("https://www.musinsa.com/ranking/best?period=now&age=ALL")

#execute_script 함수는 문자열을 받아 JS로 실행시킨다.
#알람창이 팝업된다.
driver.execute_script("alert('Hi')")

#팝업된 알람창을 객체로 반환받아 알람에 확인 버튼을 누른다.
alert = driver.switch_to.alert
alert.accept()

#find_element 함수는 CSS Selector를 통해서 원하는 Element를 지정하여 핸들링할 수 있다.
#텍스트 박스의 내용을 지운다
driver.find_element(By.CSS_SELECTOR,'#search_query').clear()

#텍스트 박스에 문자열을 입력한다.
driver.find_element(By.CSS_SELECTOR,'#search_query').send_keys("반팔")

#버튼을 클릭한다. (execute_script 함수로 JS를 실행시키는 것도 가능)
driver.find_element(By.CSS_SELECTOR,'#search_button').click()

 

selenium document  를 참고하여 함수의 사용법이나 다른 함수를 찾아보자.

 

7. WebDriver API — Selenium Python Bindings 2 documentation

A single IP address, as a string. If any IPv4 address is found, one is returned. Otherwise, if any IPv6 address is found, one is returned. If neither, then None is returned.

selenium-python.readthedocs.io