会话未创建异常:Chrome 版本必须 >= x.y.z 将 Selenium Webdriver 与 Chrome 一起使用时

Session not created exception: Chrome version must be >= x.y.z when using Selenium Webdriver with Chrome

一些让这变得棘手的注意事项是我正在使用 c9.io(在云中开发)所以我使用 gem webdrivers 能够 运行 ChromeWatir,而不是创建我设备上安装的 Chrome 的可执行路径。

我的代码一直有效,直到我今天登录并收到错误

session not created exception: Chrome version must be >= 64.0.3282.0 (Driver info: chromedriver=2.37.543610 (afd36256570660b5a2f0e4dbd1b040f3dcfe9cb5),platform=Linux 4.9.80-c9 x86_64)

gem文件的相关部分(其他都是库存)

gem 'webdrivers'

gem 'watir'

我正在尝试编译的代码

def mastersave
    require 'watir'
    @browser = Watir::Browser.new :chrome, headless: true
end

我并没有坚持使用 Chrome 的想法,但它对我有用。 gem 'webdrivers' 也允许我使用 firefox,但我得到了错误 'permission denied'。

以下错误 Chrome version must be >= 64.0.3282.0,表示它 不兼容 当前 chrome 驱动程序版本 2.37

将 chrome 更新到最新版本应该可以解决问题。

请参考https://sites.google.com/a/chromium.org/chromedriver/downloads

Latest Release: ChromeDriver 2.36

Supports Chrome v63-65

这个错误信息…

session not created exception: Chrome version must be >= 64.0.3282.0 (Driver info: chromedriver=2.37.543610 (afd36256570660b5a2f0e4dbd1b040f3dcfe9cb5),platform=Linux 4.9.80-c9 x86_64)

…表示Chrome版本必须>=64.0

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

  • 您使用的 chromedriver=2.37 仍然不是 GA 因此我们不确定相关性但是从错误消息中可以清楚地看出它不会支持 Chrome v64.x

解决方案

  • 为了更安全,您可以:
    • 要么降级到 chromedriver=2.36 其中 发行说明 提到 支持 Chrome v63-65
    • 或升级到chrome=65.x
  • 清理你的项目工作区通过你的IDE重建你的项目只需要依赖。
  • 使用 CCleaner 工具清除执行 测试套件 .
  • 前后的所有 OS 琐事
  • 如果你的基础Chrome版本太旧,那么通过Revo Uninstaller卸载它并安装最新的GA和发布版本Chrome.
  • 执行你的 @Test.

对于那些刚从 Chrome 73 到 74 遇到此问题的人,这可能是因为您正在使用 chromedriver-helper。显然 chromedriver-helper gem 已被弃用。我改用 webdrivers gem 并解决了问题。

在 Gemfile 中替换: gem 'chromedriver-helper'

有: gem 'webdrivers', '~> 3.0'

bundle install

将 Google Chrome 版本更新到 74 对我有用。

步骤: 1. 转到帮助 -> 关于 Google Chrome -> Chrome 将自动查找更新(更新 Chrome到最新版本)

此外,请注意您应该有一个更新的 chrome 驱动程序。