셀레니움 크롬드라이버 115, 116, 117, 118 못찾는 에러 오류 해결(Resolution of no such driver error in selenium for chromedriver 115, 116, 117, 118 from repository)

2023. 8. 22. 16:33IT&모바일&컴퓨터

반응형

셀레니움에서 사용하는 크롬드라이버가 무서운 속도 버전업 되고있다.

덕분에 정식 repository에 chromedriver 115, 116, 117, 118 등이 저장되지 않아서 자동 인스톨 사용시 다음과 같은 에러가 발생하고 있다.

 

ValueError: There is no such driver by url https://chromedriver.storage.googleapis.com/LATEST_RELEASE_115.0.5790
Error getting version of chromedriver 116. Retrying with chromedriver 115 (attempt 1/5)
Error getting version of chromedriver 115. Retrying with chromedriver 114 (attempt 2/5)
...
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 114

아래와 같은 크롬드라이버 자동인스톨 구문을 사용중이라면, 해결방법이 여러가지가 있다.

driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=chrome_options)

 

 

1. 해결방법A

 ; 크롬드라이버 자동매니저 사용 구문을 삭제한다. 

(아래 예는 options을 줬을 경우)
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=chrome_options)
==> 
driver = webdriver.Chrome(options=chrome_options)

반응형
(아래 예는 options이 없을 경우)
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
==> 
driver = webdriver.Chrome()

 

2. 해결방법B

 ; 크롬드라이버 매니저의 버전업을 통한 해결

아래와 같이 webdriver-manager 버전이 .4.0 미만이라면 4.0 이상을 설치한다.  최근에 4.0.1로 업데이트 되었는데 여전히 사용가능하다.

>> pip list
....
webdriver-manager 3.8.6
...

>> pip install --upgrade webdriver-manager==4.0
...
Successfully installed webdriver-manager-4.0.0

 

3. 해결방법C

 ; 크롬드라이버를 디렉토리에 직접 넣어주는 방법

 이 방법은 시도해보지 않았지만, 가능하다는 웹글들이 보이긴 한다. 하지만, 매번 직접넣어주는 건 비효율적이다. 위의 A,B의 방법이 다 실패했을 경우에 고려하자.

 

4. 해결방법D

 ; 크롬드라이버의 자동업데이트를 막는 방법

 이 방법은 시도해보지 않았지만,  윈도우 서비스의 cupdate를 자동 실행을 막고 114 버전으로 돌아가는 방법인데 보안에 취약할 수 있으니 추천하지는 않는다.

반응형