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

如何在Python Selenium中定位并关闭Chrome内嵌通知(Duo Security场景)

问题描述
  • 使用Python Selenium WebDriver访问受Duo Security保护的学校网站时,遇到Chrome内嵌通知(不属于网页内元素,无法通过浏览器检查元素功能查看),需要实现自动关闭该通知以执行后续操作。
  • 无法提供更多复现信息,因网站需登录权限。

解决方案

1. 提前禁用Chrome通知(推荐)

直接通过Chrome启动参数禁用通知,从根源避免弹出:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
# 全局禁用所有通知
chrome_options.add_argument("--disable-notifications")
# 或者仅针对目标网站禁用(保留其他网站通知)
chrome_options.add_experimental_option("prefs", {
    "profile.default_content_setting_values.notifications": 2,
    "profile.content_settings.exceptions.notifications": {
        "your-school-domain.com": {"setting": 2}
    }
})

driver = webdriver.Chrome(options=chrome_options)
driver.get("your-school-url")

setting参数说明:2=禁止通知,1=允许,0=询问

2. 模拟点击关闭已弹出的通知(备选)

由于这类通知不属于网页DOM,Selenium无法直接定位,可借助PyAutoGUI模拟鼠标操作:

import pyautogui
import time

# 等待通知加载弹出
time.sleep(3)
# 替换为实际关闭按钮的屏幕坐标(可通过pyautogui.displayMousePosition()获取)
pyautogui.click(x=1200, y=200)

注意:该方案依赖屏幕分辨率和通知固定位置,位置变化会导致失效

3. 排查是否为网页伪装的通知

部分Duo相关提示可能是网页内嵌元素,可尝试用Selenium定位:

# 示例:通过文本或类名查找关闭按钮(需根据实际情况调整)
close_buttons = driver.find_elements("xpath", "//*[contains(text(), '关闭') or contains(@class, 'close-btn')]")
if close_buttons:
    close_buttons[0].click()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 06:10:56