pip install selenium
pip install webdriver-manager
# selenium으로부터 webdriver 모듈을 불러옵니다.
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
위의 명령어를 통해 웹 브라우저를 실행하고 파이썬과 연동할 수 있습니다.
.get(url)을 활용해 요청보내기# http://www.example.com 으로 요청을 보내봅시다.
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
driver.get("http://www.example.com")
page_source 속성을 통해 Response의 HTML 문서를 확인할 수 있습니다.# page_source 속성을 확인해봅시다.
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
driver.get("http://www.example.com")
print(driver.page_source)
with-as 구문을 통해 자동으로 종료가 가능하게 할 수 있습니다.# with-as를 사용해서 위 코드를 다시 적어봅시다.
with webdriver.Chrome(service=Service(ChromeDriverManager().install())) as driver:
driver.get("http://www.example.com")
print(driver.page_source)
Driver에서 특정 요소 추출하기
- selenium은 받아온 응답으로부터 특정 요소를 추출할 수도 있습니다.
- 응답을 가지고 있는 driver/요소에 대해서 다음과 같은 메서드를 적용할 수 있습니다.
- 요소 하나 찾기
-.find_element(by, target)
-by: 대상을 찾는 기준 :ID,TAG_NAME,CLASS_NAME, ...
-target: 대상의 속성
- 요소 여러개 찾기
-.find_elements(by, target)
-by: 대상을 찾는 기준 :ID,TAG_NAME,CLASS_NAME, ...
-target: 대상의 속성
# By를 import해봅시다.
from selenium.webdriver.common.by import By
# p 태그에 해당하는 요소 하나를 찾아봅시다.
with webdriver.Chrome() as driver:
driver.get("http://www.example.com")
print(driver.find_element(By.TAG_NAME, "p").text)
# p 태그에 해당하는 요소 여러개를 찾아봅시다.
with webdriver.Chrome() as driver:
driver.get("http://www.example.com")
for element in driver.find_elements(By.TAG_NAME, "p"):
print("Text:", element.text)