SessionNotCreatedException:消息:未创建会话:此版本的 ChromeDriver 仅支持使用 Selenium ChromeDriver v81 的 Chrome 版本 81

SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 81 using Selenium ChromeDriver v81

我从 selenium 和 os 中导入了 webdriver。我希望能够运行这段代码成功:

driver = webdriver.Chrome(executable_path= os.path.abspath('') + '/chromedriver')

我遇到的错误:

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

我在 MAC OSX 上使用 python 2.7。 我从 https://sites.google.com/a/chromium.org/chromedriver/downloads 安装了 chromedriver 的 81.0.4044.138 版本 在同一个工作区目录中,它被命名为 'chromedriver',但它就像我的 webdriver 不认识它一样。如果有任何建议,我将不胜感激!

由于 Chrome 网络驱动程序版本和 Chrome 浏览器版本之间的差异,大多数情况下都会发生这种情况。

我建议您执行以下操作: 1-备份您的工作。 2- 将 Chrome 浏览器更新到最新版本。 3- 安装最新版本的 chrome 浏览器。 4- 终止后台 运行 的所有 chrome 驱动程序进程。 5- 清理您的代码并试一试。

这个错误信息...

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

...意味着 ChromeDriver 无法 initiate/spawn 新的 Browsing ContextChrome 浏览器 会话。


分析

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

  • 您正在使用 Chrome驱动程序 81.0
  • ChromeDriver 81.0 的发行说明清楚地提到了以下内容:

Supports Chrome version 81

很可能 Chrome 浏览器 已更新为 Chrome v83.0 作为最近推送的一部分。

Supports Chrome version 83

  • 您的 Selenium 客户端 版本对我们来说未知

因此 Chrome驱动程序 v81.0Chrome 浏览器 v83.0[=68 之间存在明显的不匹配=]


解决方案

确保:

  • Selenium 已升级到当前级别 Version 3.141.59
  • Chrome驱动程序 已更新至当前 ChromeDriver v83.0 级别。
  • Chrome 已更新为当前 Chrome 版本 83.0 级别。 (根据 ChromeDriver v83.0 release notes
  • 如果您的基础 Web Client 版本太旧,则卸载它并安装最新的 GA 和发布版本的 Web Client
  • 非 root 用户身份执行您的 @Test