Selenium Version = 3.141,Mozilla版本: 101.0.1自动化框架: Pytest
成功下载文件后,我们希望关闭通知。
我可以下载该文件,但由于mozilla浏览器右侧显示的通知,无法执行任何操作。我想通过selenium代码关闭该通知,但它似乎不起作用。
已尝试下列解决办法:
options = webdriver.FirefoxOptions()
# options = FirefoxProfile()
options.set_preference("dom.webnotifications.enabled", False)
options.set_preference("dom.push.enabled", False)
options.set_preference("browser.helperApps.neverAsk.saveToDisk","application/pptx, application/csv, application/ris, text/csv, image/png, application/pdf, text/html, text/plain, application/zip, application/x-zip, application/x-zip-compressed, application/download, application/octet-stream")
options.set_preference("browser.download.panel.shown", False)
options.set_preference("browser.download.folderList", 2)
options.set_preference("browser.download.manager.showWhenStarting", False)
options.set_preference("browser.download.dir", os.path.join(parent_folder, 'Downloads'))
options.set_preference("browser.download.manager.closeWhenDone", True)
options.set_preference("browser.download.manager.showAlertOnComplete", False)
# options.add_argument("--headless")
# options.headless = True
web_driver = webdriver.Firefox(firefox_options=options,executable_path=GeckoDriverManager().install())在成功下载文件后,我们正在尝试按ESC键来拒绝通知,但这似乎也不起作用。
self.driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + Keys.ENTER)或
ActionChains(self.driver).send_keys(Keys.ESCAPE).perform()尝试刷新屏幕,但通知仍然存在。
图片附后:
正在成功下载文件,但无法通过selenium关闭此通知。

发布于 2022-06-11 05:19:58
您正在对pptx使用不正确的MIME类型,以便可能会导致通知挂起,因此在更新之后进行,以查看它是否解决了该问题:
来自 application/pptx
to application/vnd.openxmlformats-officedocument.presentationml.presentation
有关MIME类型的更多信息可以在这里找到:常见MIME类型- HTTP \ MDN
更新
Mozilla已经从火狐97+中引入了一些变化,其中之一就是下载面板,而这种行为就是你所经历的。出于selenium的目的,您可以使用以下选项阻止面板打开:
options.set_preference("browser.download.alwaysOpenPanel", False)https://stackoverflow.com/questions/72574184
复制相似问题