你可以使用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)
2021年12月,使用ChromeDriver版本:96,处理ChromeDriver/浏览器通知的Python代码结构将如下所示:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
# Creating Instance
option = Options()
# Working with the 'add_argument' Method to modify Driver Default Notification
option.add_argument('--disable-notifications')
# Passing Driver path alongside with Driver modified Options
browser = webdriver.Chrome(executable_path= your_chrome_driver_path, chrome_options= option)
# Do your stuff and quit your driver/ browser
browser.get('https://www.google.com')
browser.quit()
跟随以下代码使用Python selenium处理通知设置
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
option = Options()
option.add_argument("--disable-infobars")
option.add_argument("start-maximized")
option.add_argument("--disable-extensions")
option.add_experimental_option("prefs",
{"profile.default_content_setting_values.notifications": 2
})
2016年12月的上述答案在2020年8月对我无效。我相信Selenium和Chrome都发生了变化。
我正在使用Chrome 84的二进制文件,它被列为当前版本,尽管selenium.dev
有一个Chrome 85的二进制文件可用。我必须假设这是一个测试版,因为我没有其他信息。
到目前为止,我只有部分答案,但我认为以下两行代码朝着正确的方向。这是我今晚得到的。我打开了一个测试窗口到Facebook,并且在问题中显示了确切的窗口。pythonjar在2016年12月30日的回答中给出的代码产生了错误消息。这些代码行没有错误,所以我相信这是正确的轨迹。
>>> from selenium.webdriver import ChromeOptions
>>> chrome_options = ChromeOptions()
如果我有时间处理,明天会更新这个内容。
抱歉只回答了部分问题,我希望尽快完成。希望这能帮到你。如果你先解决了问题,请告诉我。
使用 Chrome 版本 85.0.4183.83(官方版本)64位和 ChromeDriver 85.0.4183.83
以下是代码,它是可行的:
from selenium import webdriver
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)
driver.get("https://www.google.com/")
2020/08/27