저는 selenium 을 활용해서 웹페이지 자동화나 크롤링 등을 처리하고 있는데, 기존에는 아래 링크에서 현재 크롬 버전에 맞게 Chrome Webdriver 다운 받고 코드를 실행했었습니다.
ChromeDriver - WebDriver for Chrome - Downloads
Current Releases If you are using Chrome version 115 or newer, please consult the Chrome for Testing availability dashboard. This page provides convenient JSON endpoints for specific ChromeDriver version downloading. For older versions of Chrome, please se
chromedriver.chromium.org
하지만 크롬 버전이 124.0.6367.61 으로 업데이트가 됐는데, 해당하는 webdriver를 링크에서 찾을 수가 없어서 selenium 실행이 불가능 했습니다. 근데 당시에 꼭 selenium을 활용해야 했고, 사용할 방법을 찾다보니 아래 방법이 있어서 소개해드리고자 합니다.
selenium 4 버전 이후부터는 별도의 모듈(webdriver_manager)을 설치하면 크롬 버전을 확인할 필요도 없고 Chrome Webdriver를 새로 받을 필요 없이 자동화나 크롤링이 가능합니다.
①-1 먼저 selenium 버전을 확인하신 다음
# selenium 버전 확인
import selenium
print(selenium.__version__)
①-2 4.x 버전보다 낮다면, 아래 구문을 실행하여 selenium을 업데이트 시켜줍니다.
# selenium 버전 업데이트
pip install selenium --upgrade
② 그 다음 Chrome Webdriver를 자동으로 설정해주는 모듈을 설치해주시면 됩니다.
# webdriver_manager 설치
pip install webdriver_manager
준비는 모두 마무리 됐고, 네이버에서 "hello world"를 검색하는 예시 코드를 작성해보겠습니다.
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By
import time
# webdriver_manager 통해 driver 설정
driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()))
# 네이버 접속
driver.get("https://www.naver.com")
# 검색 창 찾아서 hello world 입력
search_input = driver.find_element(By.CLASS_NAME,"search_input")
search_input.click()
search_input.send_keys("hello world")
# 검색 버튼 클릭
btn_search = driver.find_element(By.CLASS_NAME,"btn_search")
btn_search.click()
time.sleep(3)
이제 더이상 번거롭게 Chrome Webdriver 설치하는 일 없이 selenium을 활용할 수 있게 됐습니다.
해당 코드 참고하셔서 selenium 잘 활용하셨으면 좋겠습니다 :)
(2025.06 추가) OSError: [WinError 193] %1은(는) 올바른 Win32 응용 프로그램이 아닙니다
라는 오류가 발생하여 확인해보니 아래 경로
C > users > 개인PC > .wdm > drivers.json
binary_path 의 끝 부분을 다음과 같이 수정해주시면 됩니다.
THIRD_PARTY_NOTICES.chromedriver → chromedriver 로 수정
# 끝부분 THIRD_PARTY_NOTICES.chromedriver → chromedriver 로 수정
},
"win64_chromedriver_136.0.7103.113_for_136.0.7103": {
"timestamp": "06/06/2025",
"binary_path": "C:\\Users\\Lenovo\\.wdm\\drivers\\chromedriver\\win64\\136.0.7103.113\\chromedriver-win32/chromedriver.exe"
}| [python] OCR 기능 활용, 이미지에서 한글 텍스트 읽어오기 (with 네이버 클로바 OCR) (0) | 2024.04.13 |
|---|---|
| [Python] 내포 활용 예시(딕셔너리, 리스트, 정렬) (0) | 2022.08.07 |
| [Python] 리스트 평탄화 - 내포 활용 (0) | 2022.08.07 |
| [Python] 리스트 내포 if / else 구문 사용 방법 (0) | 2022.08.06 |
| [python] datetime (0) | 2022.06.02 |
댓글 영역