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

无头模式Selenium Python添加I don't care about cookies扩展报错求助

问题

在Selenium中添加「I don't care about cookies」扩展时,出现以下错误:

selenium.common.exceptions.WebDriverException: Message: unknown error: failed to wait for extension background page to load: chrome-extension://fihnjjcciajhdojfnbdddfaoknhalnja/_generated_background_page.html

代码实现如下:

self.service = Service(self.path)
self.chrome_options = webdriver.ChromeOptions()
self.chrome_options.add_extension("tools/I-don-t-care-about-cookies.crx")
self.chrome_options.binary_location = os.environ.get("GOOGLE_CHROME_BIN")
self.chrome_options.add_argument('--headless')
self.chrome_options.add_argument('--disable-gpu')
self.chrome_options.add_argument('--no-sandbox')
self.driver = webdriver.Chrome(service=self.service,options=self.chrome_options)

解决思路与方案

  • 验证扩展文件有效性:确认I-don-t-care-about-cookies.crx文件未损坏,重新下载最新版本的CRX文件替换原文件后重试。
  • 适配无头模式:旧版无头模式(--headless)对部分扩展兼容性差,可改用Chrome新无头模式参数:
    self.chrome_options.add_argument('--headless=new')
    
    也可先移除--headless和--disable-gpu,以正常窗口模式启动,确认扩展能否正常加载。
  • 增加扩展加载等待:初始化Driver后,显式等待扩展后台页面加载完成:
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.by import By
    
    self.driver = webdriver.Chrome(service=self.service, options=self.chrome_options)
    # 等待10秒,确保扩展后台页面加载
    WebDriverWait(self.driver, 10).until(
        EC.presence_of_element_located((By.TAG_NAME, "body"))
    )
    
  • 匹配版本兼容性:检查Chrome浏览器版本与「I don't care about cookies」扩展版本是否匹配,避免因版本差异导致加载失败。
  • 加载解压后的扩展目录:将CRX文件解压为文件夹,使用目录加载替代CRX文件,稳定性更高:
    self.chrome_options.add_argument('--load-extension=tools/I-don-t-care-about-cookies-folder')
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 11:57:25