WatiN 处理 IE 11“你确定要离开这个页面吗?”弹出

WatiN handling the IE 11 “Are you sure you want to leave this page?” popup

我一直在尝试使用这个代码

WatiN.Core.DialogHandlers.ReturnDialogHandler myHandler = new WatiN.Core.DialogHandlers.ReturnDialogHandler();
browser.AddDialogHandler(myHandler);

myHandler.WaitUntilExists();

myHandler.OKButton.Click();
browser.RemoveDialogHandler(myHandler);

用于处理网站在尝试将页面保留在 onbeforeunload 处理程序。 Watin 在尝试关闭浏览器时触发此事件。

上面的代码在ie11上好像不行。 ie9 有一个特殊的处理程序,但 ie11 有 none。

我找到了关闭对话框的方法。我已经有一个全局变量来确定是否显示对话框,称为 link_was_clicked。通过在 watin 代码中将其设置为 true

browser.RunScript(@"link_was_clicked = true;");

它有效地关闭了它。