最近我经历了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
请帮我解决这个问题,如何以无头模式运行我的整个硒黄瓜项目?