Ale*_*lex 6 javascript python selenium google-chrome onbeforeunload
我在chrome浏览器上运行自动化(python)硒测试,有时在重新加载页面时,屏幕上会出现一个弹出窗口:
是否可以通过这种方式配置Chrome硒浏览器,以使该弹出窗口不出现?如果是这样,该怎么做?还是有其他方法可以阻止此弹出窗口?还是接受呢?
这个带有文本的弹出窗口作为重新加载站点?您所做的更改可能无法保存是WindowEventHandlersonbeforeunload属性的实现
WindowEventHandlers mixin的onbeforeunload属性是用于处理beforeunload事件的EventHandler。当窗口即将卸载其资源时会触发这些事件。此时,文档仍然可见,事件仍然可以取消。
有不同的策略可用于处理此弹出窗口。
Chrome解决方案:--disable-popup-blocking通过ChromeOptions() 使用:
from selenium import webdriver
options.add_argument("--disable-popup-blocking")
driver=webdriver.Chrome(chrome_options=options, executable_path=/path/to/chromedriver')
Run Code Online (Sandbox Code Playgroud)Firefox解决方案:dom.disable_beforeunload通过FirefoxProfile() 使用:
from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.set_preference("dom.disable_beforeunload", True)
driver = webdriver.Firefox(firefox_profile = profile)
Run Code Online (Sandbox Code Playgroud)跨浏览器解决方案:作为跨浏览器解决方案,您可以禁用此对话框调用executeScript()将window.onbeforeunload设置为function() {};,您可以使用以下解决方案:
driver.execute_script("window.onbeforeunload = function() {};")
Run Code Online (Sandbox Code Playgroud)基于JQuery的解决方案:
$I->executeJS( "window.onbeforeunload = null" );
Run Code Online (Sandbox Code Playgroud)