从链接 -读写能力 https://code.google.com/p/selenium/wiki/DesiredCapabilities#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 http://selenium.googlecode.com/git/docs/api/rb/Selenium/WebDriver/Remote/Capabilities.html类的实例。现在如果你想设置任何自定义功能,你需要调用该方法#[]= http://selenium.googlecode.com/git/docs/api/rb/Selenium/WebDriver/Remote/Capabilities.html#%5b%5d%3D-instance_method在您从通话中得到的实例上driver.capabilities
.
设置好自定义后就可以调用#to_json http://selenium.googlecode.com/git/docs/api/rb/Selenium/WebDriver/Remote/Capabilities.html#to_json-instance_method方法查看您的驱动程序设置的所有当前功能:
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"}
如果您想验证自定义的设置是否如您所愿,请通过调用该方法来验证相同的内容#[] http://selenium.googlecode.com/git/docs/api/rb/Selenium/WebDriver/Remote/Capabilities.html#%5b%5d-instance_method :
puts ob[:unexpectedAlertBehaviour] # => dismiss