본문 바로가기

기초 튼튼/시행착오노트

[Selenium] 크롬 드라이버 버전 문제 해결

현상


셀레니움으로 크롬 접근을 하기 위해 드라이버를 실행하는 도중 아래와 같은 에러가 발생

selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 114
Current browser version is 118.0.5993.117 with binary path /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
Stacktrace:

 

 

 

원인


로컬에 설치되어있는 크롬 버전과 크롬드라이버 버전 불일치로 발생

로컬 크롬이 자동 업데이트가 되어버리기 때문에 에전에는 잘 되다가 버전 불일치가 발생한 것으로 보인다.

 

 

 

해결


터미널에서 크롬 자동 업데이트 해제

joe@joeui-MacBookPro bluebird % defaults write com.google.keystone.agent checkInterval 0

 

삽질 기록 :

더보기

https://beebom.com/how-disable-chrome-automatic-updates-mac/

 

How to Disable Chrome Automatic Updates in Mac

Do not want Google Chrome to automatically update in macOS? Here is how you can disable Chrome auto updates in Mac without too much of hassle.

beebom.com

(23-10-29 업데이트: Google Chrome은 macOS에서 업데이트를 관리하는 Keystone라는 백그라운드 서비스를 사용하는데 내 맥에서는 위 명령어로 업데이트 중지가 설정이 안됐었다. 

defaults read com.google.Keystone.Agent checkInterval 로 checkInterval값이 변경됐는지를 확인할 수 있는데, 계속해서 이전 디폴트값인 18000이 떴음.

 

결국 로컬에서 임시로 버전을 다운그레이드해서 실행만 되게하는걸로는 미봉책일 것 같아서 직접 크롬 드라이버를 다운받아서 실행하도록 하는 방법으로 개선하려고 했는데..

 

크롬 드라이버 다운로드는 아래 경로에서

https://sites.google.com/chromium.org/driver/downloads

 

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

sites.google.com

 

그런데 오늘자로 사용 가능한 크롬 드라이버는 114 버전대인데 현재 자동업데이트 되는 크롬 버전은 118대여서 충돌이 일어난다.. 

결국 로컬에서 테스트하려면 버전을 강제 다운그레이드 시키는 방법 뿐이어서 다시 보는데...

 

defaults read com.google.Keystone.Agent 를 커맨드창에서 실행해보면 Keystone을 관리하는 전체 json 오브젝트를 출력해서 볼 수 있다. 확인을 해보니.. 

 

중간에 I가 소문자 i로 되어서 잘못 입력되어있음;

변수명이 중간에 대소문자가 잘못 구분 되어있어서 다른 변수에 저장이 되어있었다; 이런...

 

efaults write com.google.Keystone.Agent checkInterval 0   로 다시 실행하고 확인해보니 제대로 설정되는 것이 확인된다.

 

 

 

크롬 삭제

 

크롬 예전 버전 설치 후 재시도 

 

 

아래 링크에서 예전 버전을 설치

https://www.slimjet.com/chrome/google-chrome-old-version.php

 

Download older versions of Google Chrome for Windows, Linux and Mac

Google Chrome Older Versions Download (Windows, Linux & Mac) Why use an older version of Google Chrome? Google only provides an online setup file for Google Chrome which installs the latest version of Google Chrome. It happens frequently that a user upgrad

www.slimjet.com

 

 

고민 거리:


실제로 나중에 운영할 때는 어떻게 하지?

--> 현재 코드는 매번 수행시마다 자동으로 webdriver_manager가 최신 버전의 크롬 드라이버를 다운받아서 돌아가도록 되어있다.

--> 버전이 변경되더라도 대응이 가능하도록 직접 크롬 드라이버를 다운받아두고 이걸 기반으로 돌아가도록 설정을 해둬야 할 것 같다

 

 

 

 

참고한 사이트들


https://ddbobd.tistory.com/entry/%ED%81%AC%EB%A1%AC-%EB%8B%A4%EC%9A%B4%EA%B7%B8%EB%A0%88%EC%9D%B4%EB%93%9C

 

크롬 다운그레이드

간혹 크롬브라우저의 이슈나 작업을 위해 특정 버전으로 셋팅하는 경우가 있다. 그래서 크롬 브라우저 다운그레이드하는 방법을 소개하고자 한다. 구버전 크롬 설치 Download older versions of Google Ch

ddbobd.tistory.com

https://circumeo.tistory.com/57

 

맥에서 크롬 자동 업데이트 끄기

매우 간단하다 터미널을 열어 아래 명령을 입력하자. defaults write com.google.keystone.agent checkinterval 0

circumeo.tistory.com

 

반응형