从链接 - Read-write capabilities我找到的信息:
浏览器应该与之前未处理的警报做些什么抛出UnhandledAlertException。可能的值是“接受”,“解雇”和“忽略”。
Key : unexpectedAlertBehaviour
type : string ("accept"/"dismiss"/"ignore")
你需要做的是:
require 'selenium-webdriver'
driver = Selenium::WebDriver.for :firefox
driver.get "https://www.google.com/"
ob = driver.capabilities
ob[:unexpectedAlertBehaviour] = "dismiss" # or "accept"/"ignore"
driver.capabilities
会给你Selenium::WebDriver::Remote::Capabilities
类的实例。现在,如果您要设置任何自定义功能,则需要调用您从driver.capabilities
调用中获得的实例的方法#[]=
。
设置自定义一个后,你可以调用#to_json
方法来查看所有与驱动程序设置的当前功能:
puts ob.to_json
# >> { "browserName":"firefox","version":"21.0","platform":"WINNT","javascriptEnabled"
# >> :true,"cssSelectorsEnabled":true,"takesScreenshot":true,"nativeEvents":true,"rot
# >> atable":false,"handlesAlerts":true,"webStorageEnabled":true,"applicationCacheEna
# >> bled":true,"databaseEnabled":true,"locationContextEnabled":true,"browserConnecti
# >> onEnabled":true,"acceptSslCerts":true,"unexpectedAlertBehaviour":"dismiss"}
如果你想,以确认你希望它是,如果自定义一个得到设定,通过调用方法#[]
验证相同:
puts ob[:unexpectedAlertBehaviour] # => dismiss
这是语言无关。唯一的区别是*你如何传递能力。向我们展示迄今为止您在构建驱动程序方面的情况。 – Arran
@Arran,我在我的问题中添加了代码。我之所以有点困惑的原因是,在上面的链接属性是“ignoreProtectedModeSettings”,因为在ruby绑定“ignore_protected_mode_settings”正在工作。 – Prasant