본문 바로가기

개발/Python

[Python] 셀레니움(Selenium)이란?

반응형

셀레니움(Selenium)은 웹 브라우저를 자동화하는 도구로, 다양한 웹 애플리케이션의 테스트 및 웹 데이터 크롤링 등에 사용됩니다. 아래는 셀레니움을 사용하여 웹 브라우저를 자동화하는 기본적인 방법을 단계별로 설명한 예제입니다.

 

1. 셀레니움 설치

먼저, 셀레니움과 webdriver_manager 라이브러리를 설치해야 합니다.

pip install selenium webdriver-manager

 

2. 크롬 드라이버 설정

셀레니움을 사용하여 크롬 브라우저를 제어할 것이므로, 크롬 드라이버를 다운로드하고 설정해야 합니다. webdriver_manager 라이브러리를 사용하여 크롬 드라이버를 자동으로 다운로드하고 설정할 수 있습니다.

 

3. 기본적인 셀레니움 사용 예제

다음 예제는 셀레니움을 사용하여 구글에 접속한 후, 검색어를 입력하고 검색 버튼을 클릭하는 예제입니다.

 

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
import time

# 크롬 드라이버 설정
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))

# 구글 홈페이지로 이동
driver.get('https://www.google.com')

# 페이지가 로드될 시간을 줌
time.sleep(2)

# 검색창에 검색어 입력
search_box = driver.find_element(By.NAME, 'q')
search_box.send_keys('Selenium Python')

# 검색 버튼 클릭
search_button = driver.find_element(By.NAME, 'btnK')
search_button.click()

# 검색 결과 페이지 로드 시간 대기
time.sleep(2)

# 첫 번째 검색 결과 출력
results = driver.find_elements(By.CSS_SELECTOR, 'h3')
for result in results:
    print(result.text)

# 브라우저 종료
driver.quit()

주요 단계 설명:

  1. 크롬 드라이버 설정:
    • webdriver.Chrome(service=Service(ChromeDriverManager().install()))를 사용하여 크롬 드라이버를 설정합니다. ChromeDriverManager().install()은 드라이버를 자동으로 다운로드하고 설정합니다.
  2. 웹 페이지 요청 및 대기:
    • driver.get('https://www.google.com')으로 구글 홈페이지에 접속합니다.
    • time.sleep(2)으로 페이지가 완전히 로드될 때까지 기다립니다.
  3. 요소 찾기 및 상호작용:
    • find_element(By.NAME, 'q')를 사용하여 검색창을 찾고, send_keys('Selenium Python')으로 검색어를 입력합니다.
    • find_element(By.NAME, 'btnK')로 검색 버튼을 찾고 click()으로 클릭합니다.
  4. 검색 결과 출력:
    • find_elements(By.CSS_SELECTOR, 'h3')로 검색 결과의 제목 요소를 찾아 출력합니다.
  5. 브라우저 종료:
    • 모든 작업이 끝나면 driver.quit()으로 브라우저를 종료합니다.

 

 

반응형