LoadError:无法加载此类文件-selenium / webdriver / phantomjs

jp2*_*017 4 ruby selenium watir phantomjs

我在Cucumber Hooks文件中有以下代码,以运行一直有效的幽灵驱动程序,直到昨天我开始看到错误消息:

Before do
  Selenium::WebDriver::PhantomJS.path = 'C:\phantomjs-2.1.1-windows\bin\phantomjs.exe'
  @browser = Watir::Browser.start "https://www.google.com",  :phantomjs
  @browser.window.maximize    
end
Run Code Online (Sandbox Code Playgroud)

错误信息:

LoadError: cannot load such file -- selenium/webdriver/phantomjs
Run Code Online (Sandbox Code Playgroud)

tit*_*ner 6

是的,从Selenium 3.8开始,我们已经删除了对PhantomJS的支持。PhantomJS项目不再被维护。如果您确实需要无头,请研究Chrome或Firefox无头选项。


Tim*_*sko 5

对于那些遇到此错误的人,您可以通过将selenium-webdriver版本锁定在Gemfile中来解决此问题,如下所示:

gem 'selenium-webdriver', '~> 3.6.0'
Run Code Online (Sandbox Code Playgroud)

然后bundle update降级。

(如果刚将其作为watir或某些其他库的依赖项进行加载,则您目前甚至可能没有在Gemfile中指定selenium-webdriver。)

长期的解决方案当然是将PhantomJS迁移到无头的Chrome或Firefox。