데브코스 TIL/Web Scrapping

Web Scraping 기초 3-2. 브라우저 자동화하기, Selenium

예니ㅣ 2023. 10. 26. 15:03

강의

"Selenium"은 웹 브라우저를 조작할 수 있는 자동화 프레임워크 입니다.

"Web Driver"는 웹 브라우저를 제어할 수 있는 자동화 프레임워크 입니다.

%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

# Chrome 브라우저를 켜봅시다.
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))

# http://www.example.com 으로 요청을 보내봅시다.
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
driver.get("http://www.example.com")

# page_source 속성을 확인해봅시다.
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
driver.get("http://www.example.com")
print(driver.page_source)

# with-as를 사용해서 위 코드를 다시 적어봅시다.
with webdriver.Chrome(service=Service(ChromeDriverManager().install())) as driver:
  driver.get("http://www.example.com")
  print(driver.page_source)
  
# By를 import해봅시다.
from selenium.webdriver.common.by import By

# p 태그에 해당하는 요소 하나를 찾아봅시다.
with webdriver.Chrome(service=Service(ChromeDriverManager().install())) as driver:
  driver.get("http://www.example.com")
  print(driver.find_element(By.TAG_NAME, "p").text)
  
# p 태그에 해당하는 요소 여러개를 찾아봅시다.
with webdriver.Chrome(service=Service(ChromeDriverManager().install())) as driver:
  driver.get("http://www.example.com")
  for element in driver.find_elements(By.TAG_NAME, "p"):
    print("Text:", element.text)