ruby - 使用 headless chrome 和 watir webdriver

标签 ruby watir watir-webdriver

在 watir 文档 ( http://watir.com/guides/chrome/ ) 中,已经提到做

Watir::Browser.new :chrome, headless: true

将使我们能够使用 headless chrome

这似乎行不通。

我收到如下错误

2.4.0 :001 > require 'watir'
 => true 
2.4.0 :002 > Watir::Browser.new :chrome, headless: true
ArgumentError: unknown option: {:headless=>true}
        from /Users/sandeep.kumar/.rvm/gems/ruby-2.4.0/gems/selenium-webdriver-3.5.1/lib/selenium/webdriver/remote/bridge.rb:86:in `initialize'
        from /Users/sandeep.kumar/.rvm/gems/ruby-2.4.0/gems/selenium-webdriver-3.5.1/lib/selenium/webdriver/remote/bridge.rb:53:in `new'
        from /Users/sandeep.kumar/.rvm/gems/ruby-2.4.0/gems/selenium-webdriver-3.5.1/lib/selenium/webdriver/remote/bridge.rb:53:in `handshake'
        from /Users/sandeep.kumar/.rvm/gems/ruby-2.4.0/gems/selenium-webdriver-3.5.1/lib/selenium/webdriver/chrome/driver.rb:57:in `initialize'
        from /Users/sandeep.kumar/.rvm/gems/ruby-2.4.0/gems/selenium-webdriver-3.5.1/lib/selenium/webdriver/common/driver.rb:46:in `new'
        from /Users/sandeep.kumar/.rvm/gems/ruby-2.4.0/gems/selenium-webdriver-3.5.1/lib/selenium/webdriver/common/driver.rb:46:in `for'
        from /Users/sandeep.kumar/.rvm/gems/ruby-2.4.0/gems/selenium-webdriver-3.5.1/lib/selenium/webdriver.rb:86:in `for'
        from /Users/sandeep.kumar/.rvm/gems/ruby-2.4.0/gems/watir-6.3.0/lib/watir/browser.rb:46:in `initialize'
        from (irb):2:in `new'
        from (irb):2
        from /Users/sandeep.kumar/.rvm/rubies/ruby-2.4.0/bin/irb:11:in `<main>'

我的chrome版本是59.0.3071.115

我的 chrome 驱动版本是

ChromeDriver 2.20.353124 (035346203162d32c80f1dce587c8154a1efa0c3b

使用

selenium-webdriver 3.4.3

watir 6.7.1 (was 6.3.0)

最佳答案

更新你的 gem 并尝试这样的事情:

driver = Watir::Browser.new :chrome, :switches => %w[--ignore-certificate-errors --disable-popup-blocking --disable-translate --disable-notifications --start-maximized --disable-gpu --headless]
driver.driver.manage.timeouts.implicit_wait = 100 # seconds

--disable-gpu--headless 为 chrome 启用 headless 。

试一试。谢谢。

关于ruby - 使用 headless chrome 和 watir webdriver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45724960/

相关文章:

ruby - 如何直接在 watir 中以 excel 格式创建测试报告?

ruby - (Watir webdriver) 在 OSX 10.9 中使用多显示器时如何将浏览器移动到另一个屏幕

refresh - 如何在Watir-Webdrive中刷新页面?

ruby - 使用 Golang 和 Ruby 加密和解密 AES

ruby-on-rails - Redis 查找 set 包含元素的键

Ruby/Watir - located=false

ruby - 如何使用 Watir 从 HTML 中获取文本?

ruby-on-rails - 在 Link_to 中传递参数

ruby-on-rails - 测试空字符串或零值字符串

ruby - 有人设法让 Watir 在 Ruby 1.9.1 上使用 IE 工作吗?