LoadError: cannot load such file — selenium/webdri

2019-02-18 17:52发布

问题:

I have this code in my Cucumber Hooks file to run the ghost driver it was working until yesterday I start seeing the error message:

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

Error message:

LoadError: cannot load such file -- selenium/webdriver/phantomjs

回答1:

Yes, we've removed support for PhantomJS as of Selenium 3.8. The PhantomJS project is no longer being maintained. If you actually do need headless, please investigate either the Chrome or Firefox headless options.



回答2:

For those who encounter this error, you can work around it by locking your selenium-webdriver version in your Gemfile like so:

gem 'selenium-webdriver', '~> 3.6.0'

and then bundle update to downgrade.

(You may not even have selenium-webdriver specified in your Gemfile currently if it's just being loaded as a dependency of watir or some other library.)

The long term fix, of course, is to move off of PhantomJS to Chrome or Firefox headless.