파이썬(python) 셀레늄 크롬드라이버 오류 수정 ValueError: There is no such driver by url
지난주까지 정상적으로 동작하던 코드에서 오류가 발생하였다. 파이썬 스크립트의 오류 위치는 아래 코드 부분이다. driver = webdriver.Chrome(ChromeDriverManager().install())
셀레늄 크롬드라이버 오류
오류 내용은 다음과 같다. Traceback (most recent call last): File "/Users/ddolcat/PycharmProjects/pythonProject1/main.py", line 209, in <module> driver = webdriver.Chrome(ChromeDriverManager().install()) File "/Users/ddolcat/.conda/envs/pythonProject1/lib/python3.10/site-packages/webdriver_manager/chrome.py", line 39, in install driver_path = self._get_driver_path(self.driver) File "/Users/ddolcat/.conda/envs/pythonProject1/lib/python3.10/site-packages/webdriver_manager/core/manager.py", line 30, in _get_driver_path file = self._download_manager.download_file(driver.get_url()) File "/Users/ddolcat/.conda/envs/pythonProject1/lib/python3.10/site-packages/webdriver_manager/core/download_manager.py", line 28, in download_file response = self._http_client.get(url) File "/Users/ddolcat/.conda/envs/pythonProject1/lib/python3.10/site-packages/webdriver_manager/core/http.py", line 33, in get self.validate_response(resp) File "/Users/ddolcat/.conda/envs/pythonProject1/lib/python3.10/site-packages/webdriver_manager/core/http.py", line 16, in validate_response raise ValueError(f"There is no such driver by url {resp.url}") ValueError: There is no such driver by url https://chromedriver.storage.googleapis.com/115.0.5790/chromedriver_mac64.zip
오류 내용 중에 ValueError: There is no such driver by url https://chromedriver.storage.googleapis.com/115.0.5790/chromedriver_mac64.zip 부분이 오류의 핵심이다.
해당 경로에 크롬드라이버 파일이 없다.
크롬이 115 버전으로 업데이트 되어서 발생한 오류인데, 크롬 드라이버는 114가 현재 최신 버전 이며, 업데이트 되지 않는다. ChromeDriverManager().install() 소스 코드를 살펴보면, 현재 크롬 버전으로 가져오도록 되어 있다.
115 버전의 크롬 드라이버 path 를 구글 크롬드라이버 저장소 에서 받아오는데, 해당 path 가 존재하지 않으니 드라이버 다운로드 실패되는 것이다.
https://googlechromelabs.github.io/chrome-for-testing/
[해결 방법]
아래 스크립트에 버전을 명시하면 된다.
크롬 latest 버전이 아닌 114버전을 명시해준다.
driver = webdriver.Chrome(ChromeDriverManager(version='114.0.5735.90').install())
또는 아래와 같은 방식으로 해결할 수 있다.
driver = webdriver.Chrome(service=Service(ChromeDriverManager(version=version).install()))
위와 같이 해도 문제가 해결되지않는 다면
driver = webdriver.Chrome(ChromeDriverManager().install()) 코드는 그대로 복구 하고
다음과 같이 webdriver 업그레이드 명령어를 실행한다.
pip install webdriver-manager --upgrade
만약 그럼에도 불구하고 오류가 발생한다면
아래 경로에서 최신버전의 크롬드라이버를 다운받은 후 경로를 지정해준다.
https://googlechromelabs.github.io/chrome-for-testing/#stable
driver = webdriver.Chrome(executable_path="C:/python/chromedriver_win32/chromedriver.exe")
[참고자료]
https://stackoverflow.com/questions/74011776/valueerror-there-is-no-such-driver-by-url
[연관자료]