不支持的命令行标志:--ignore-certificate-errors(在Ruby中)

har*_*cks 5 ruby selenium selenium-chromedriver

在RubyMine和chromedriver 2.10中使用Ruby 2.0.0 p481

当Chrome启动时,它会在黄色弹出栏中显示一条消息:"您正在使用不受支持的命令行标记:--ignore-certificate-errors.稳定性和安全性将受到影响." 这个简单的例子再现了这个问题.

require "selenium-webdriver" 
driver = Selenium::WebDriver.for :chrome 
driver.navigate.to login_url
Run Code Online (Sandbox Code Playgroud)

Java和Python已经回答了这个问题.我到处寻找Ruby模拟器.有没有人有建议或知道如何将Python答案(不支持的命令行标志:--ignore-certificate-errors)翻译成Ruby?谢谢!

Mat*_*att 2

Ruby selenium-webdriver API不会像 Java/Python 那样公开单独的 Chrome 选项对象,但您可以通过“功能”设置选项。

功能网页提供了一个 Ruby 示例以及您可以注入的已识别功能表。将它们连接在一起excludeSwitches

caps = Selenium::WebDriver::Remote::Capabilities.chrome("chromeOptions" => {"excludeSwitches" => [ "--ignore-certificate-errors" ]})
driver = Selenium::WebDriver.for :chrome, desired_capabilities: caps
Run Code Online (Sandbox Code Playgroud)

也看看Watir,它是 WebDriver 的前端。
他们的示例展示了如何发送一个直接传递到 Web 驱动程序的:switches数组,以便您可以执行相同的操作。这使得添加其他开关比遍历功能更容易一些。

该主题还存在一个chromedriver问题。有帖子详细说明您可以添加--test-type参数来解决证书问题和上面的ruby​​ 代码示例