-
[매크로] selenium 크롬드라이버 오류 해결 방법여러가지 공부 2024. 1. 16. 17:36
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 92Current browser version is 114.0.5735.90
옛날에 잘 돌아가던 코드가 작동하지 않고 자꾸만 위 오류가 발생해서 확인해보니 현재 노트북에 설치된 크롬 버전과 일치하지 않아서 생기는 문제였다. 옛날에는 자동으로 크롬드라이버의 최신 버전을 가져올 수 있었기 때문에 문제가 없었으나 114 이후로 업데이트가 되지 않고 있는 것 같다.
from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager driver = webdriver.Chrome(ChromeDriverManager().install())
[최신 버전의 크롬드라이버를 가져오는 코드]
만약 위와 같은 코드 형식을 사용하고 있다면 같은 오류가 발생할 확률이 크다. 이때 해결방법은 크게 두가지가 있다.
첫번째는 크롬 버전을 내리는 것. 두번째는 내 크롬 버전과 동일한 크롬드라이버를 설치하는 것. 나는 잘 사용하고 있는 크롬을 다운그레이드할 필요는 없을 것이라 생각되어 두 번째 방식으로 해결했다.
일단 내 크롬 버전은 chrome://settings/help 이 링크로 들어가서 알 수 있다. 혹은 [설정 - Chrome 정보] 탭에서 확인 가능하다.
그 다음 크롬 드라이버를 다운 받는다. 원래는 이 웹사이트에서 다운 받을 수 있었지만 여기도 114 이후로 업데이트가 되지 않고 있다.
다행히 구글링하다 최신 버전까지 업데이트 된 링크를 찾았다. [크롬 드라이버 다운로드 링크]
위 페이지에 들어가서 Cntl+F 혹은 Cmd+F를 사용하여 원하는 버전을 찾은 다음 자신의 platform에 맞는 url을 브라우저에 복붙하면 자동으로 크롬 드라이버가 다운로드 된다.
다운로드 된 파일은 압축을 해제하여 설치까지 해주고 프로젝트 내부로 옮겨둔다. (꼭 옮길 필요는 없음)
마지막으로 코드를 아래 코드로 변경하고 chromedriver가 위치한 파일 경로를 입력해주면 정상적으로 크롬 드라이버가 열린다.
from selenium import webdriver from selenium.webdriver.chrome.service import Service as ChromeService driver = webdriver.Chrome(service=ChromeService("path 입력"))
반응형'여러가지 공부' 카테고리의 다른 글
JWT는 무엇인가? (세션 방식과 차이, 구조, 작동 방식) (0) 2022.04.26 [클린코드] 주석 리팩토링 (0) 2021.08.31 [Android] Activity, Fragment 생명주기 (0) 2020.11.05 정규표현식 정리 (0) 2020.09.19