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

如何在undetected_chromedriver.v2中禁用弹窗拦截?现有方案无效求助

解决undetected_chromedriver.v2弹窗拦截无效的问题
  • 注意undetected_chromedriver的初始化逻辑,要确保弹窗配置在初始化浏览器前正确传入,别搞反顺序:
from undetected_chromedriver import Chrome, ChromeOptions

options = ChromeOptions()
# 同时启用两种弹窗允许设置
options.add_argument("--disable-popup-blocking")
options.add_experimental_option("prefs", {
    "profile.default_content_setting_values.popups": 1,
    # 额外加上自动下载权限,避免登录相关的下载弹窗被拦截
    "profile.content_settings.exceptions.automatic_downloads.*.setting": 1
})
# 必须把options传给Chrome的初始化参数
driver = Chrome(options=options)
  • 试试指定自定义用户数据目录,防止undetected_chromedriver加载默认配置覆盖你的设置:
# 替换成你本地的空文件夹路径,提前建好
options.add_argument(r"--user-data-dir=C:\Users\YourName\Desktop\ChromeProfile")
options.add_argument(r"--profile-directory=Default")

用自定义目录后,浏览器的配置会持久化,后续再启动也能保留弹窗允许的设置。

  • 如果是谷歌登录时的系统级身份验证弹窗(不是网页JS弹窗),可以用等待捕获并处理:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 最多等10秒,直到弹窗出现
WebDriverWait(driver, 10).until(EC.alert_is_present())
alert = driver.switch_to.alert
# 根据需求选择接受或取消
alert.accept()
# alert.dismiss()
  • 最后检查版本,旧版本可能存在配置兼容问题,直接更新到最新版:
pip install --upgrade undetected-chromedriver

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 01:15:56