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

Chrome更新后Selenium Python API无头模式失效问题求助

问题描述
  • 本周更新Google Chrome后,Windows系统中使用Selenium Python API的无头模式会弹出空白窗口
  • 此前在Debian虚拟机上运行的相同代码,如今也无法正常工作
  • 已移除所有隐私相关FQDN DNS拦截,涉及域名:ad.doubleclick.net、analytics.yahoo.com、google-analytics.com、googleadservices.com、plausible.io、stats.g.doubleclick.net
  • 涉事代码片段:
chrome_options = Options()
chrome_options.add_argument("--headless=new") #previously used --headless
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument("--disable-dev-shm-usage")
chrome_options.add_argument("--disable-automation")
chrome_options.add_argument("--disable-extensions")
chrome_options.add_experimental_option("excludeSwitches", ["enable-automation"])
driver = webdriver.Chrome(options=chrome_options)
排查与修复建议
  • 同步ChromeDriver版本
    Chrome更新后必须使用对应版本的ChromeDriver,版本不匹配是无头模式失效的核心诱因。下载与当前Chrome主版本完全一致的驱动文件,替换现有驱动。

  • 调整无头模式参数
    尝试将--headless=new改回旧版--headless测试,新版无头模式可能存在兼容性bug;或改用--headless=chrome参数,部分场景下该参数适配性更稳定。

  • 简化参数定位冲突
    暂时移除非核心启动参数,仅保留基础选项测试:

    chrome_options = Options()
    chrome_options.add_argument("--headless=new")
    chrome_options.add_argument('--no-sandbox')
    chrome_options.add_argument("--disable-dev-shm-usage")
    driver = webdriver.Chrome(options=chrome_options)
    

    确认基础运行正常后,再逐个加回原有参数,定位引发问题的选项。

  • 添加固定窗口尺寸
    无头模式默认窗口尺寸可能导致页面渲染异常,添加参数强制固定窗口大小:

    chrome_options.add_argument("--window-size=1920,1080")
    
  • 检查Debian系统权限与依赖
    Debian环境下确保运行代码的用户拥有Chrome及ChromeDriver的访问权限,可临时用sudo测试;同时确认系统依赖库完整(如libnss3、libgconf-2-4等)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 04:56:04