[Python] 파이썬 크롬드라이버 오류 해결하기: TypeError: WebDriver.init() got an unexpected keyword argument ‘executable_path’
13년만에 새로운 PC를 쿠팡에서 왕가PC 상호를 통하여 구입하였다. 윈도우 11 운영체제 설치 후 파이썬 개발환경을 설정하는 과정에 기존에 잘 동작하던 코드에 문제가 발생되었다.
TypeError: WebDriver.init() got an unexpected keyword argument ‘executable_path’
Traceback (most recent call last):
File "C:\python\Workspace\main.py", line 285, in <module>
driver = webdriver.Chrome(executable_path='C:/python/chromedriver_win64/chromedriver.exe')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: WebDriver.__init__() got an unexpected keyword argument 'executable_path'
오류원인
selenium 라이브러리 버전 문제로 이전에 사용되던 코드에서 오류가 발생되었다. 기존에 사용하던 셀레니움 버전은 3이었던 것이다.
driver = webdriver.Chrome(executable_path='C:/python/chromedriver_win64/chromedriver.exe')
오류 해결방법
새로 설치된 셀레니움 버전은 selenium4이다.
service = Service(executable_path='C:/python/chromedriver_win64/chromedriver.exe')
driver = webdriver.Chrome(service=service)
크롬드라이버 자동 설치 방법
python -m pip install webdriver_manager 를 통해 위의 라이브러리를 설치하여 사용할 수 있다.
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
options=Options()
service=Service(ChromeDriverManager().install())
driver=webdriver.Chrome(service=service,options=options)
url = 'https://dhlottery.co.kr/store.do?method=topStoreLocation&gbn=lotto&rtlrId='
driver.get(url)
하지만 이방법도 어느 순간부터는 잘 되지 않아 크롬브라우저가 업그레이드 될때마다 수동으로 크롬드라이버 다운받아서 사용하고 있다.
크롬 드라이버 다운로드 위치 최신버전
https://googlechromelabs.github.io/chrome-for-testing/last-known-good-versions-with-downloads.json