selenium.common.exceptions.SessionNotCreatedException:消息:会话未创建:此版本的 ChromeDriver 仅支持 Chrome 版本 85

aln*_*002 5 python selenium google-chrome selenium-chromedriver selenium-webdriver

嘿,我有这个简单的代码来使用 selenium 打开谷歌

from selenium import webdriver
import chromedriver_binary


driver = webdriver.Chrome()
driver.get('https://google.com')
Run Code Online (Sandbox Code Playgroud)

我没有打开谷歌页面,而是收到此错误。

Traceback (most recent call last):
  File "main.py", line 5, in <module>
    driver = webdriver.Chrome()
  File "C:\Users\vipku\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 76, in __init__
    RemoteWebDriver.__init__(
  File "C:\Users\vipku\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "C:\Users\vipku\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "C:\Users\vipku\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\Users\vipku\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, 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 85
Run Code Online (Sandbox Code Playgroud)

Deb*_*anB 4

这个错误信息...

selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 85
Run Code Online (Sandbox Code Playgroud)

...意味着ChromeDriver v85.0无法启动/生成新的浏览上下文,即Chrome 浏览器会话。


您的主要问题是您使用的二进制文件版本之间不兼容,如下所示:

  • 您提到使用chromedriver=85.0.4183.38 ,并且chromedriver=85.0.4183.38的发行说明明确提到了以下内容:

支持Chrome 版本 85

  • 假设您使用的是当前版本的Chrome 浏览器,即版本 84.0.4147.135

因此ChromeDriver v85.0Chrome 浏览器 v84.0之间存在明显的不匹配


解决方案

确保这件事:

  • ChromeDriver已更新至当前ChromeDriver v84.0级别。
  • Chrome已更新至当前(已发布)Chrome 版本 84.0级别。(根据ChromeDriver v84.0 发行说明)。
  • 通过IDE清理项目工作区并仅使用所需的依赖项重建项目。
  • 如果您的基本Web 客户端版本太旧,请将其卸载并安装最新的 GA 和发布版本的Web 客户端
  • 重新启动系统
  • @Test非 root用户身份执行。
  • driver.quit()始终在方法内调用tearDown(){}以优雅地关闭和销毁WebDriverWeb Client实例。

参考

您可以在以下位置找到相关的详细讨论: