從鏈接 - 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