会话未创建例外:使用Selenium Webdriver和Chrome时,Chrome版本必须为> = x.y.z

时间:2018-03-16 10:41:03

标签: ruby-on-rails selenium selenium-webdriver selenium-chromedriver c9.io

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

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

  

会话未创建例外:Chrome版本必须为> = 64.0.3282.0(驱动程序信息:chromedriver = 2.37.543610(afd36256570660b5a2f0e4dbd1b040f3dcfe9cb5),platform = Linux 4.9.80-c9 x86_64)

gemfile的相关部分(其他一切都是库存)

gem 'webdrivers'

gem 'watir'

代码我正在尝试编译

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

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

4 个答案:

答案 0 :(得分:6)

此错误消息......

  

会话未创建例外:Chrome版本必须为> = 64.0.3282.0(驱动程序信息:chromedriver = 2.37.543610(afd36256570660b5a2f0e4dbd1b040f3dcfe9cb5),platform = Linux 4.9.80-c9 x86_64)

...表示 Chrome版本必须为> = 64.0

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

  • 您正在使用 chromedriver = 2.37 ,但仍然不是 GA 因此我们不确定依赖项,但是从错误消息中可以看出它不支持< em> Chrome v64.x

解决方案

  • 为了更安全,您可以:
    • 降级至 chromedriver = 2.36 发行说明提及支持Chrome v63-65
    • 或升级到 chrome = 65.x
  • 通过 IDE 清理您的项目工作区仅使用所需的依赖项重建项目
  • 使用CCleaner工具清除执行测试套件之前和之后的所有操作系统杂务。
  • 如果您的基本 Chrome 版本太旧,请通过Revo Uninstaller将其卸载并安装最新的GA和已发布的Chrome版本。
  • 执行@Test

答案 1 :(得分:5)

对于刚从Chrome 73到74出现此问题的用户,可能是因为您使用的是chromedriver-helper。显然chromedriver-helper宝石已被弃用。我改用webdrivers gem,它解决了这个问题。

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

使用: gem 'webdrivers', '~> 3.0'

bundle install

答案 2 :(得分:2)

以下错误Chrome version must be >= 64.0.3282.0,表示不兼容与当前的chromedriver版本2.37

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

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

  

最新发布:ChromeDriver 2.36

     

支持Chrome v63-65

答案 3 :(得分:1)

将Google Chrome版本更新到74对我来说很有效。

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

enter image description here

此外,请注意,您应该拥有更新的Chrome驱动程序。