Javascript 如何禁用";重新加载站点?“您所做的更改可能不会保存”;chrome中的(python)selenium测试弹出窗口?
我正在chrome浏览器上运行自动化(python)selenium测试,有时重新加载页面时,屏幕上会出现一个弹出窗口:Javascript 如何禁用";重新加载站点?“您所做的更改可能不会保存”;chrome中的(python)selenium测试弹出窗口?,javascript,python,selenium,google-chrome,onbeforeunload,Javascript,Python,Selenium,Google Chrome,Onbeforeunload,我正在chrome浏览器上运行自动化(python)selenium测试,有时重新加载页面时,屏幕上会出现一个弹出窗口: 是否可以配置chrome selenium浏览器,使此弹出窗口不出现?如果是,如何做到这一点?或者是否有其他方法来抑制此弹出窗口?还是接受它?我知道这并不能回答问题的抑制部分,但是 请尝试以下代码以接受弹出窗口: driver.SwitchTo().Alert().Accept()此弹出窗口的文本为重新加载站点?您所做的更改可能无法保存是在卸载之前执行的属性 在卸载之前
是否可以配置chrome selenium浏览器,使此弹出窗口不出现?如果是,如何做到这一点?或者是否有其他方法来抑制此弹出窗口?还是接受它?我知道这并不能回答问题的抑制部分,但是 请尝试以下代码以接受弹出窗口:
driver.SwitchTo().Alert().Accept()代码>此弹出窗口的文本为重新加载站点?您所做的更改可能无法保存是在卸载之前执行的属性
在卸载之前
mixin的属性是用于处理事件的。当窗口即将释放其资源时,将触发这些事件。此时,文档仍然可见,事件仍然可以取消
解决方案
有不同的策略可用于处理此弹出窗口
- Chrome解决方案:使用
——通过ChromeOptions()禁用弹出窗口阻止功能:
- Firefox解决方案:使用
dom。通过FirefoxProfile()在卸载之前禁用\u
:
- 跨浏览器解决方案:作为跨浏览器解决方案,您可以通过调用
executeScript()
禁用此对话框,以将window.onbeforeunload设置为function(){}代码>,您可以使用以下解决方案:
driver.execute_script("window.onbeforeunload = function() {};")
$I->executeJS( "window.onbeforeunload = null" );
- 基于JQuery的解决方案:
driver.execute_script("window.onbeforeunload = function() {};")
$I->executeJS( "window.onbeforeunload = null" );
您可以在中找到相关的讨论
是的,我想我会用这个建议。但是警报只会偶尔弹出。你可以尝试添加“try Exception”块以尝试切换到警报窗口。我刚刚意识到我已经为Chrome设置了此标志--禁用弹出阻止功能。然而,它似乎不能正常工作。我仍然时不时地收到弹出窗口(重复完全相同的网页)。您是否试用了跨浏览器解决方案?你能给我一个状态吗?我什么时候执行脚本?就在我创建驱动程序后一次?每次新页面?弹出窗口有时仍会出现。请忽略我以前的评论。无论你在什么地方浏览一个页面,如果出现这个弹出窗口,你都需要添加这一行来删除它。