[파이썬] Selenium과 ChromeDriver 사용

selenium-chromedriver

Selenium은 웹 애플리케이션을 자동화하기 위한 도구로, 사람이 직접 브라우저를 조작하는 것처럼 웹 페이지를 자동으로 테스트, 스크래핑할 수 있습니다. ChromeDriver는 Chrome 브라우저를 자동으로 제어하기 위한 WebDriver입니다. 이번 글에서는 Python에서 Selenium과 ChromeDriver를 사용하여 웹 브라우저를 자동화하는 방법을 알아보겠습니다.

1. Selenium 설치하기

Selenium을 사용하기 위해서는 먼저 Selenium을 설치해야 합니다. Python에서는 pip를 사용하여 설치할 수 있습니다. 다음 명령을 터미널에서 실행하여 Selenium을 설치합니다.

pip install selenium

2. ChromeDriver 다운로드하기

ChromeDriver는 Chrome 브라우저를 자동으로 제어하기 위해 필요한 도구입니다. Selenium은 ChromeDriver와 상호 작용하여 브라우저를 조작할 수 있습니다.

ChromeDriver를 다운로드하기 위해서는 ChromeDriver 공식 다운로드 페이지에서 Chrome 버전에 맞는 ChromeDriver를 다운로드합니다. 다운로드한 ChromeDriver의 경로를 기록해 두는 것이 중요합니다.

3. ChromeDriver 설정하기

ChromeDriver를 사용하기 위해 Selenium에게 ChromeDriver의 경로를 알려주어야 합니다. Selenium은 webdriver.Chrome()을 사용하여 ChromeDriver에 접근할 수 있습니다. 다음과 같이 ChromeDriver의 경로를 지정해 주세요.

from selenium import webdriver

# ChromeDriver의 경로 지정
path_to_chromedriver = "/path/to/chromedriver"

# ChromeDriver 설정
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--headless")  # 브라우저 창을 띄우지 않고 실행하려면 주석 처리하세요.
chrome_options.add_argument("--disable-gpu")
chrome_options.add_argument("--no-sandbox")

# ChromeDriver 실행
driver = webdriver.Chrome(path_to_chromedriver, options=chrome_options)

path_to_chromedriver 변수에는 다운로드한 ChromeDriver의 경로를 입력해야 합니다. 필요에 따라 ChromeDriver의 옵션들을 추가할 수 있습니다. 위 코드에서는 그 중 일부 옵션을 설정해 두었습니다.

4. Selenium 코드 실행하기

이제 Selenium을 사용하여 웹 브라우저를 자동으로 조작할 수 있습니다. Selenium에는 웹 요소를 찾고, 클릭하고, 텍스트를 입력하는 등 다양한 기능이 있습니다.

# 예제: Google 검색
from selenium.webdriver.common.keys import Keys

# Google 웹 페이지 열기
driver.get("https://www.google.com")

# 검색어 입력
search_box = driver.find_element_by_name("q")
search_box.send_keys("Hello World")
search_box.send_keys(Keys.RETURN)

# 검색 결과 출력
search_results = driver.find_elements_by_css_selector("h3")
for result in search_results:
    print(result.text)

# 브라우저 닫기
driver.quit()

위 코드는 Google 검색을 예로 든 Selenium 코드입니다. Selenium으로 웹 페이지를 열고, 검색어를 입력하고, 검색 결과를 출력하는 예제입니다.

5. 마무리

이제 Selenium과 ChromeDriver를 사용하여 Python에서 웹 브라우저 자동화를 시작할 수 있습니다. Selenium은 웹 애플리케이션 테스트, 스크래핑 등 다양한 분야에서 유용하게 사용됩니다. ChromeDriver를 사용하여 Chrome 브라우저를 제어하는 방법을 익힌 뒤, Selenium의 다양한 기능을 활용해보세요!