如何从浏览器中删除通知和警报?selenium python 2.7.7

2on*_*ne2 3 python selenium python-2.7 selenium-firefoxdriver selenium-webdriver

我试图在网页上提交信息,但selenium会抛出此错误:

UnexpectedAlertPresentException:警告文本:此页面要求您确认是否要离开 - 您输入的数据可能无法保存.,>

这不是休假通知; 这是通知的图片 -

在此输入图像描述.

如果我点击进来再也没有显示此通知,我的操作就不会被保存; 有没有办法保存或禁用所有通知?

编辑:我正在使用Firefox.

TH *_*rov 19

您可以使用Chrome选项禁用浏览器通知.示例代码如下:

chrome_options = webdriver.ChromeOptions()
prefs = {"profile.default_content_setting_values.notifications" : 2}
chrome_options.add_experimental_option("prefs",prefs)
driver = webdriver.Chrome(chrome_options=chrome_options)
Run Code Online (Sandbox Code Playgroud)


小智 10

使用最新版本的Firefox时,以上首选项无效。

以下是使用Firefox对象禁用通知的解决方案

_browser_profile = webdriver.FirefoxProfile()
_browser_profile.set_preference("dom.webnotifications.enabled", False)
webdriver.Firefox(firefox_profile=_browser_profile)
Run Code Online (Sandbox Code Playgroud)

使用远程对象时禁用通知: webdriver.Remote(desired_capabilities=_desired_caps, command_executor=_url, options=_custom_options, browser_profile=_browser_profile)

硒== 3.11.0