使用Watir关闭"确认导航"弹出窗口

Žel*_*pin 8 javascript popup watir onbeforeunload watir-webdriver

我试图解雇"确认导航"弹出窗口.这就是它在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
Run Code Online (Sandbox Code Playgroud)

目前,onbeforeunload当我访问该页面时,我会覆盖,如http://watirwebdriver.com/javascript-dialogs/所示

browser.execute_script("window.onbeforeunload = function() {};")
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

它工作得很好.我只是想知道是否有更好的解决方案.

Chu*_*den 6

我认为这是目前最好的方式.

我提交了一个错误/功能请求,大约两个月前.您可能希望在那里发表评论并添加支持投票,如果这样可以让您更轻松.