使用Watir关闭“确认导航”弹窗

8

我想要取消“确认导航”弹窗。在Chrome浏览器中,它的样子如上图所示。

要查看弹窗:

require "watir-webdriver"
browser = Watir::Browser.new
browser.goto "http://www.gravityforms.com/demo/wp-admin/admin.php?page=gf_new_form"
browser.text_field(:id => "user_login").set "demo"
browser.text_field(:id => "user_pass").set "demo"
browser.button(:id => "wp-submit").click
browser.refresh

目前,我按照http://watirwebdriver.com/javascript-dialogs/上的建议,在访问页面时覆盖了onbeforeunload

browser.execute_script("window.onbeforeunload = function() {};")

所以,现在脚本看起来像这样:

require "watir-webdriver"
browser = Watir::Browser.new
browser.goto "http://www.gravityforms.com/demo/wp-admin/admin.php?page=gf_new_form"
browser.text_field(:id => "user_login").set "demo"
browser.text_field(:id => "user_pass").set "demo"
browser.button(:id => "wp-submit").click
browser.execute_script("window.onbeforeunload = function() {};")
browser.refresh

它目前运行良好。我只是在想是否有更好的解决方案。

1个回答

6
我认为这是目前最好的方法。
我大约两个月前就针对此问题提交了一个错误/功能请求。如果这能让你的事情更容易,你可能想在那里发表评论并支持一下。

谢谢Chuck,我在那里添加了我的评论。 - Željko Filipin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接