오답노트
[selenium] selenium 간단 사용법 본문
selenium
selenium은 브라우저의 자동화 목적으로 만들어진 다양한 브러우저를 제어할 수 있도록 하는 라이브러리
selenium 사용준비
라이브러리 설치
!pip install selenium
파이썬에서 해당 소스를 실행시켜 selenium을 설치하자.
webdriver 설치
https://chromedriver.chromium.org/downloads
자신의 Chrome 브라우저의 버전에 맞게 위 사이트에서 webdriver를 다운로드한다.
다운로드 받은 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 를 참고하여 함수의 사용법이나 다른 함수를 찾아보자.
'Python > Web Crawling' 카테고리의 다른 글
[XPath] XPath (0) | 2022.08.06 |
---|---|
[selenium] 정적 페이지와 정적 페이지 웹 크롤링 (0) | 2022.08.05 |
[BeautifulSoup] 정적 페이지와 정적 페이지 웹 크롤링 (0) | 2022.08.05 |
[CSS] CSS Selector (0) | 2022.08.05 |
[requests] 동적 페이지와 동적 페이지에 대한 웹 크롤링 (0) | 2022.08.05 |