selenium报错:This version of ChromeDriver only supports Chrome version 109 Current browser version is 112.0.5615.49...解决办法

发布时间 2023-04-20 18:43:14作者: 查拉图斯特拉面条

前言:跟GPT交互,让其写一段代码,执行失败。经过排查验证,GPT写的代码没有问题,是本地环境问题。


执行报错:

selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 109
Current browser version is 112.0.5615.49 with binary path C:\Program Files\Google\Chrome\Application\chrome.exe

报错分析:

此版本的ChromeDriver 仅支持Chrome版本109。当前浏览器版本为112.0.5615.49 。根据报错得知本地的谷歌浏览器已经更新。

解决办法:

将与谷歌浏览器版本匹配的chromedriver.exe放到Python的安装目录下,也就是和python.exe同目录即可。


详细过程,如下:

1. 让cursor写一段python代码,如下:

from selenium import webdriver

# Create a new Chrome browser instance
browser = webdriver.Chrome()

# Navigate to the Baidu homepage
browser.get('https://www.baidu.com/')

# Wait for the page to load
browser.implicitly_wait(10)

# Take a screenshot of the page and save it to a file
browser.save_screenshot('baidu_screenshot.png')

# Close the browser
browser.quit()

2. 在pycharm运行报错,如下:

"D:\Program Files\python3\python.exe" "D:\Program Files\python3\Zyl\2023-04-11\demo11.py" 
Traceback (most recent call last):
  File "D:\Program Files\python3\Zyl\2023-04-11\demo11.py", line 4, in <module>
    browser = webdriver.Chrome()
  File "D:\Program Files\python3\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 81, in __init__
    super().__init__(
  File "D:\Program Files\python3\lib\site-packages\selenium\webdriver\chromium\webdriver.py", line 106, in __init__
    super().__init__(
  File "D:\Program Files\python3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 288, in __init__
    self.start_session(capabilities, browser_profile)
  File "D:\Program Files\python3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 381, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "D:\Program Files\python3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 444, in execute
    self.error_handler.check_response(response)
  File "D:\Program Files\python3\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 249, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 109
Current browser version is 112.0.5615.49 with binary path C:\Program Files\Google\Chrome\Application\chrome.exe
Stacktrace:
Backtrace:
    (No symbol) [0x005B6643]
    (No symbol) [0x0054BE21]
    (No symbol) [0x0044DA9D]
    (No symbol) [0x00472911]
    (No symbol) [0x0046D630]
    (No symbol) [0x0046A899]
    (No symbol) [0x004A6917]
    (No symbol) [0x004A655C]
    (No symbol) [0x0049FB76]
    (No symbol) [0x004749C1]
    (No symbol) [0x00475E5D]
    GetHandleVerifier [0x0082A142+2497106]
    GetHandleVerifier [0x008585D3+2686691]
    GetHandleVerifier [0x0085BB9C+2700460]
    GetHandleVerifier [0x00663B10+635936]
    (No symbol) [0x00554A1F]
    (No symbol) [0x0055A418]
    (No symbol) [0x0055A505]
    (No symbol) [0x0056508B]
    BaseThreadInitThunk [0x76C37D49+25]
    RtlInitializeExceptionChain [0x774CB74B+107]
    RtlClearBits [0x774CB6CF+191]


Process finished with exit code 1

3. 配置谷歌驱动

  谷歌驱动下载地址:http://chromedriver.storage.googleapis.com/index.html

  驱动版本须与浏览器版本一致。

  将下载好的浏览器驱动解压,将解压出的 exe 文件替换到Python的安装目录下,也就是和python.exe同目录即可。

4. 再次执行代码,执行成功。

"D:\Program Files\python3\python.exe" "D:\Program Files\python3\Zyl\2023-04-11\demo11.py" 

Process finished with exit code 0