You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Selenium中accept/dismiss无法绕过网页推送通知,求Firefox处理方法

解决Firefox中网页通知权限弹窗的问题

网页通知权限弹窗

你遇到的这种通知权限弹窗不是JavaScript原生Alert,所以switch_to.alert这类处理JS弹窗的方法根本不管用。下面给你两种可行的处理方案:

方案一:提前配置,直接跳过弹窗

初始化Firefox驱动时,通过设置浏览器偏好,直接授予或拒绝通知权限,页面加载时就不会弹出请求框:

from selenium import webdriver
from selenium.webdriver.firefox.options import Options

options = Options()
# 参数说明:2=允许所有通知请求,1=拒绝所有,0=默认弹窗
options.set_preference("permissions.default.desktop-notification", 2)

driver = webdriver.Firefox(options=options)
driver.get("你的目标网页URL")

方案二:运行时动态处理权限

如果需要在代码执行过程中动态处理权限,可以用Firefox的DevTools API操作:

from selenium import webdriver

driver = webdriver.Firefox()
driver.get("你的目标网页URL")

# 授予当前页面通知权限
driver.execute_cdp_cmd("Browser.grantPermissions", {
    "origin": driver.current_url,
    "permissions": ["notifications"]
})

# 如果要拒绝权限,添加revoke参数即可
# driver.execute_cdp_cmd("Browser.grantPermissions", {
#     "origin": driver.current_url,
#     "permissions": ["notifications"],
#     "revoke": True
# })

注意:该方法要求你的Selenium与Firefox版本尽量匹配且保持较新状态,确保API兼容。

内容的提问来源于stack exchange,提问作者iDay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 09:07:23