如何使Selenium忽略/跳过或覆盖window.close()



我在Java上使用Selenium来自动测试网页,此页面的脚本在页面加载后立即调用window.close()

window.opener='whatever';
window.open('','_parent','');
window.close();

在IE9中,它会弹出一个确认对话框,"The webpage you are viewing is trying to close the window disable""是/否"选项。按"是"将关闭网页。

我不想要这个关闭(保留会话)和弹出窗口。您能否向我建议一个忽略或覆盖window.close()脚本的解决方案。

提前谢谢。

你可以简单地用JavaScript覆盖window.close函数。

String disableCloseScript = "window.close = function() { }";
((JavascriptExecutor)driver).executeScript(disableCloseScript);

查看这些答案以获取更多信息:

  • 如何将JavaScript与Selenium WebDriver Java一起使用
  • JavaScript:覆盖警报()

最新更新