Selenium::WebDriver::Error::UnknownError: newSession

Selenium::WebDriver::Error::UnknownError: newSession

我正在 运行使用 selenium webdriver 进行 rspec 测试。设置如下所示:

require 'capybara/dsl'

Capybara.app = Rack::File.new File.expand_path('../fixtures', __FILE__)

require 'selenium-webdriver'

Capybara.register_driver :firefox do |app|
  options = ::Selenium::WebDriver::Firefox::Options.new
  options.args << '--headless' if travis?

  Capybara::Selenium::Driver.new(app, browser: :firefox, options: options)
end
Capybara.default_driver = :firefox

当我 运行 rspec 时,测试失败

 Failure/Error: visit '/select2-v3/index.html'

 Selenium::WebDriver::Error::UnknownError:
   newSession
 # WebDriverError@chrome://marionette/content/error.js:178:5
 # UnknownCommandError@chrome://marionette/content/error.js:472:5
 # despatch@chrome://marionette/content/server.js:290:13
 # execute@chrome://marionette/content/server.js:271:11
 # onPacket/<@chrome://marionette/content/server.js:246:15
 # onPacket@chrome://marionette/content/server.js:245:8
 # _onJSONObjectReady/<@chrome://marionette/content/transport.js:490:9
 # ./spec/select2_spec.rb:6:in `block (2 levels) in <top (required)>'

谷歌搜索没有给我任何结果。

你有什么解决办法吗?

更新:我正在使用 firefox v63.0

您需要升级到最新版本 geckodriver (v0.23.0) 才能使用 Firefox 63。

我做到了 brew install geckodriver 然后尝试 brew link geckodriver 然后一条错误消息说目标文件目录已经存在。所以我使用删除了目标文件目录 rm '/usr/local/bin/geckodriver' 在使用 brew link geckodriver

再次链接之前