현상
셀레니움으로 크롬 접근을 하기 위해 드라이버를 실행하는 도중 아래와 같은 에러가 발생
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/
(23-10-29 업데이트: Google Chrome은 macOS에서 업데이트를 관리하는 Keystone라는 백그라운드 서비스를 사용하는데 내 맥에서는 위 명령어로 업데이트 중지가 설정이 안됐었다.
defaults read com.google.Keystone.Agent checkInterval 로 checkInterval값이 변경됐는지를 확인할 수 있는데, 계속해서 이전 디폴트값인 18000이 떴음.
결국 로컬에서 임시로 버전을 다운그레이드해서 실행만 되게하는걸로는 미봉책일 것 같아서 직접 크롬 드라이버를 다운받아서 실행하도록 하는 방법으로 개선하려고 했는데..
크롬 드라이버 다운로드는 아래 경로에서
https://sites.google.com/chromium.org/driver/downloads
그런데 오늘자로 사용 가능한 크롬 드라이버는 114 버전대인데 현재 자동업데이트 되는 크롬 버전은 118대여서 충돌이 일어난다..
결국 로컬에서 테스트하려면 버전을 강제 다운그레이드 시키는 방법 뿐이어서 다시 보는데...
defaults read com.google.Keystone.Agent 를 커맨드창에서 실행해보면 Keystone을 관리하는 전체 json 오브젝트를 출력해서 볼 수 있다. 확인을 해보니..
변수명이 중간에 대소문자가 잘못 구분 되어있어서 다른 변수에 저장이 되어있었다; 이런...
efaults write com.google.Keystone.Agent checkInterval 0 로 다시 실행하고 확인해보니 제대로 설정되는 것이 확인된다.
크롬 삭제
크롬 예전 버전 설치 후 재시도
아래 링크에서 예전 버전을 설치
https://www.slimjet.com/chrome/google-chrome-old-version.php
고민 거리:
실제로 나중에 운영할 때는 어떻게 하지?
--> 현재 코드는 매번 수행시마다 자동으로 webdriver_manager가 최신 버전의 크롬 드라이버를 다운받아서 돌아가도록 되어있다.
--> 버전이 변경되더라도 대응이 가능하도록 직접 크롬 드라이버를 다운받아두고 이걸 기반으로 돌아가도록 설정을 해둬야 할 것 같다
참고한 사이트들
https://circumeo.tistory.com/57
'기초 튼튼 > 시행착오노트' 카테고리의 다른 글
[elastic beanstalk 에러 해결] The instance profile aws-elasticbeanstalk-ec2-role associated with the environment does not exist. (0) | 2023.09.09 |
---|---|
[시행착오노트] AWS RDS 로컬 피시에서 접근하기 (0) | 2023.03.22 |
[시행착오노트] MySQL rank 함수 구현 (0) | 2021.06.18 |
[시행착오노트] pandas 고유값 카운트: value_counts() (0) | 2021.06.17 |
[시행착오노트] RDB 접속용 Sequel pro 빌드버전 (0) | 2021.06.15 |