未初始化的常量Selenium :: WebDriver :: Chrome :: OptionsDid你的意思是? Selenium :: WebDriver :: Options(NameError)

时间:2017-10-12 06:29:46

标签: ruby selenium cucumber

最近我经历了chrome无头浏览器selenium自动化。我使用Selenium-cucumber和ruby。现在我想使用Selenium :: WebDriver :: Chrome :: Options以chrome无头模式运行我的整个项目。

我更新了selenium-webdriver,chrome驱动程序和我的chrome版本是61.0.3163.100

为了了解其工作原理,我使用以下代码创建了test.rb:

require "selenium-webdriver"

#configure the driver to run in headless mode
options = Selenium::WebDriver::Chrome::Options.new
options.add_argument('--headless')
options.add_argument('--disable-gpu')
driver = Selenium::WebDriver.for :chrome, options: options
driver.get('http://stackoverflow.com/')
puts driver.title    
driver.quit

我能够得到如下答案:

>>ruby test.rb
[1012/112029.980:ERROR:devtools_http_handler.cc(786)]
DevTools listening on 127.0.0.1:12703

 Stack Overflow - Where Developers Learn, Share, & Build Careers

现在我正确得到了响应,我想配置驱动程序以无头模式运行我的项目。

所以我编辑了支持文件夹的env.rb文件:

导入需要'selenium-webdriver'并编辑我们创建驱动程序实例的下面部分:

else # else create driver instance for desktop browser
  begin
options = Selenium::WebDriver::Chrome::Options.new
options.add_argument('headless')
options.add_argument('--disable-gpu')
driver = Selenium::WebDriver.for :chrome, options: options
driver.get('http://stackoverflow.com/')
puts driver.title
  rescue Exception => e
    puts e.message
    Process.exit(0)
  end
end

我运行了命令>> cucumber BROWSER = chrome

uninitialized constant Selenium::WebDriver::Chrome::Options
Did you mean?  Selenium::WebDriver::Options

请帮我解决这个问题,如何以无头模式运行我的整个硒黄瓜项目?

0 个答案:

没有答案