我在这里看了看:http ://wiki.openqa.org/display/WTR/JavaScript+Pop+Ups
每个解决方案都适用于 Windows 上的 IE。我在 Mac 上使用 Firefox。有没有办法点击 JavaScript 警告框的确定?
我在这里看了看:http ://wiki.openqa.org/display/WTR/JavaScript+Pop+Ups
每个解决方案都适用于 Windows 上的 IE。我在 Mac 上使用 Firefox。有没有办法点击 JavaScript 警告框的确定?
WebDriver中仍在处理警报和提示的正确处理,但常见的解决方法是使用 execute_script() 覆盖窗口函数,即
browser.execute_script("window.alert = function(msg) { window.lastAlert = msg; }")
browser.button(:id => "trigger-alert").click
browser.execute_script("return window.lastAlert") #=> "the message"
因为我想避免出现一堆猴子补丁(Watir 社区中的一个常见问题),所以我添加了一些辅助方法作为可选要求 - 在下一个版本之后你应该能够做到:
require "watir-webdriver/extensions/alerts"
browser.alert do
browser.button(:id => "alert").click
end #=> "the alert message"
browser.confirm(true) do
browser.button(:id => "confirm").click
end #=> "the confirm message"
browser.prompt("returned value") do
browser.button(:id => "prompt").click
end #=> { :message => "foo", :default => "bar" }
请注意,这是暂时的,将来在 WebDriver 中解决问题时,可能会删除 API。
更新:
现在实施了适当的警报处理。上面的示例现在将像这样完成:
browser.button(:id => "alert").click
browser.alert.ok
browser.button(:id => "confirm").click
browser.alert.ok # or browser.alert.close
browser.button(:id => "prompt").click
alert = browser.alert
alert.text #=> "foo"
alert.ok