DataScience/Python

Selenium Chromedriver 버전 오류 해결방법

codemagician 2023. 11. 26.

from selenium import webdriver

driver = webdriver.Chrome(/chromedriver.exe)

많은 분들이 셀레니움 크롬 드라이버를 다음 코드와 같이 driver=webdriver.Chrome(크롬 설치경로)으로 정의해서 사용하실 겁니다.

그런데 간혹 다음과 같은 에러 메세지가 나타는 경우가 있습니다.

selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version ~~~
SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version ~~~

셀레니움 크롬드라이버 버전 오류에 대한 명쾌하고 쉬운 해결방법에 대해서 소개해드리겠습니다.


Python Selenium 패키지 유의사항

Selenium은 웹 어플리케이션을 테스트하기 위한 자동화 도구로 널리 사용되는 프레임워크입니다. 다양한 프로그래밍 언어에서 사용할 수 있으며, 주로 웹 브라우저와 상호작용하여 웹 애플리케이션의 테스트, 스크래핑, 자동화 등 다양한 작업을 수행하는 데 사용됩니다.

Selenium은 지속적으로 업데이트되고 발전하고 있기 때문에 새로운 버전이 나올 때마다 명령어나 API에 변경이 생길 수 있습니다.

이로 인해 기존의 코드가 새로운 버전에서 작동하지 않을 수 있습니다.

따라서 Selenium을 사용하는 개발자는 업데이트에 유의해야 합니다. 주요 유의사항은 다음과 같습니다:

  1. 문서 확인: Selenium은 자체적으로 문서를 제공하고 있습니다. 새로운 버전이 나올 때마다 해당 버전의 문서를 확인하여 변경된 사항 및 새로운 기능을 숙지하는 것이 중요합니다.
  2. Changelog 확인: Selenium의 변경 내용은 Changelog에 기록되어 있습니다. 새로운 버전이 나올 때마다 Changelog를 확인하여 어떤 부분이 변경되었는지를 알아보세요.
  3. 버전 호환성 확인: 사용 중인 Selenium 버전과 사용하려는 브라우저 버전이 서로 호환되는지 확인해야 합니다. 특히 브라우저가 업데이트될 때 Selenium도 업데이트해야 할 수 있습니다.
  4. Community 및 포럼 참여: Selenium은 활발한 커뮤니티를 가지고 있습니다. 포럼이나 GitHub 등에서 다른 사용자들과 의견을 나누고 업데이트에 관한 정보를 얻을 수 있습니다.
  5. 테스트 스크립트 유지보수: 자동화된 테스트 스크립트를 작성할 때 유연성 있게 작성하는 것이 좋습니다. 고정된 선택자나 고정된 대기 시간을 피하고, 가능하면 명시적 대기 (`WebDriverWait` 등)를 사용하여 안정적인 테스트를 만들어야 합니다.

기존 코드가 새로운 버전에서 작동하지 않을 경우, 해당 부분을 업데이트하거나 수정하여 새로운 버전과 호환되게끔 조치를 취해야 합니다.

Python Selenium 패키지는 주기적으로 업데이트되기 때문에 기존에 사용하고 있는 코드가 변경되지 않았는지에 대한 체크가 필요한 패키지입니다.

따라서 기존에는 잘 작동했던 Selenium 코드 이더라도, 안된다면 업데이트 사항을 확인할 필요가 있습니다.

업데이트 내역은 selenium 공식홈페이지 documentation을 통해 확인할 수 있습니다.

Selenium ver 4.0 중요 변경사항

2023년 6월경 Selenium은 버전 4.0으로 업데이트 되었습니다.

해당 패키지의 중요 업데이트 내용으로는 더 이상 webdriver 연동 간 chrome.exe 파일이 필요치 않다는 것입니다.

따라서 Selenium 4.0 이상 버전부터는 더 이상 크롬 드라이버를 별도로 받을 필요 없이 바로 사용할 수 있는데요.

from selenium import webdriver

driver = webdriver.Chrome()

다음과 같이 webdriver.Chrome()으로 설정해 두면 자동으로 Chrome 웹드라이버를 연동시켜 줍니다.

Selenium 버전 확인 및 업그레이드

그렇다면 현재 설치된 Selenium 패키지의 버전을 확인하는 방법과 4.0 이상 버전으로 업그레이드하는 방법에 대해서 소개해드리겠습니다.

Python Selenium 버전 확인

현재 설치된 Python Selenium 패키지의 버전을 확인하는 방법입니다.

cmd 또는 아나콘다 프롬프트를 열고 pip show selenium을 입력해 줍니다.

아래는 제가 만든 아나콘다 가상환경 "auto"에 설치된 selenium 패키지 정보를 확인한 과정입니다.

selenium 버전 확인

Selenium 업그레이드

pip install selenium --upgrade를 통해 업그레이드해주시면 되겠습니다.

또는 pip install selenium==4.0.0을 통해 4.0 이상의 버전으로 설치해 주시면 되겠습니다.

아나콘다 환경 유의사항

만약 conda install selenium으로 selenium을 설치하셨다면 삭제 후 재설치하는 것을 추천드립니다.

방법은 다음과 같습니다.

  1. 작업하고자 하는 가상환경 활성화 conda activate 가상환경
  2. pip uninstall selenium
  3. 삭제 완료 후 pip install selenium 혹은 pip install selenium==4.0.0

Coment

파이썬 셀레니움이 4 버전으로 업그레이드되면서 더 이상 Chrome.exe 파일을 준비할 필요가 없어졌는데요.

하지만 이전에 작성된 많은 블로그에서 크롬 드라이버를 실행시키기 위한 과정으로 현재 사용 중인 크롬 버전에 맞는 크롬 드라이버를 다운로드하는 과정을 포함시키고 있습니다.

더 이상 크롬 버전 오류로 인한 번거로움 없이 앞으로는 selenium.driver.Chrome()으로 자유로워 지시길 바랍니다!

728x90

댓글