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

Pyppeteer无法加载Brave浏览器扩展的问题求助

Brave + Pyppeteer 无法加载扩展的问题排查与解决

我用Brave浏览器替代Chromium,但Pyppeteer无法加载配置文件中的任何扩展。相同场景下使用C#/.NET的PuppeteerSharp完全正常,查阅Pyppeteer API文档并按要求操作后仍无法解决问题。我的代码如下:

from urllib.parse import urlencode
from pystyle import *
import os, sys, time, random, threading, requests, json, base64
from html5lib import *
import asyncio
from pyppeteer import launch
from pyppeteer_stealth import stealth
from pystyle import Colorate, Colors, Write, Add, Center, System
from pyppeteer.dialog import Dialog
from typing import Any, Awaitable, Callable, Dict, List, Optional, Union

async def browser_with_extensions():
    _extention1_path = "C:\Users\PC_USER\AppData\Local\BraveSoftware\Brave-Browser\User Data\Default\Extensions\ofjjanaennfbgpccfpbghnmblpdblbef\1.3_0"

    _executablePath = "C:\Program Files\BraveSoftware\Brave-Browser\Application\brave.exe"
    _userDataDir = "C:\Users\PC_USER\AppData\Local\BraveSoftware\Brave-Browser\User Data"

    url = ""
    args = [
            '--disable-extensions-except={}'.format(_extention1_path),
            '--load-extensions={}'.format(_extention1_path),
            '--enable-automation',
            '--start-maximized',
            '--hide-scrollbars',
            '--disable-bundled-ppapi-flash',
            '--mute-audio',
            '--no-sandbox',
            '--disable-setuid-sandbox',
            '--disable-gpu'
    ]

    browser = await launch({
        'headless': False,
        'slowMo': 5,
        'options': {'args': args}, 
        'executablePath': _executablePath,
        'userDataDir': _userDataDir,
        'defaultViewport': None
    })

    page = await browser.newPage()
    await stealth(page)
    await page.goto(url,  {'waitUntil' : 'domcontentloaded'})

排查与解决要点

  • 修复路径转义错误:Python中字符串的\是转义字符,直接使用单反斜杠会导致路径解析异常。将路径改为原始字符串(前缀加r)或双反斜杠:

    _extention1_path = r"C:\Users\PC_USER\AppData\Local\BraveSoftware\Brave-Browser\User Data\Default\Extensions\ofjjanaennfbgpccfpbghnmblpdblbef\1.3_0"
    _executablePath = r"C:\Program Files\BraveSoftware\Brave-Browser\Application\brave.exe"
    _userDataDir = r"C:\Users\PC_USER\AppData\Local\BraveSoftware\Brave-Browser\User Data"
    
  • 消除UserDataDir与扩展加载参数的冲突:指定userDataDir时,Brave会自动加载该目录下的已安装扩展,此时--disable-extensions-except和--load-extensions可能与已有配置冲突,二选一即可:

    • 若无需保留用户配置,去掉userDataDir参数,仅通过--load-extensions加载目标扩展
    • 若必须使用用户目录,删除--disable-extensions-except和--load-extensions参数,直接依赖目录内的已安装扩展,注意启动前关闭所有Brave实例避免目录占用
  • 调整Pyppeteer启动参数结构:部分Pyppeteer版本要求args直接作为顶层参数,而非嵌套在options中,修改启动代码:

    browser = await launch({
        'headless': False,
        'slowMo': 5,
        'args': args, 
        'executablePath': _executablePath,
        'userDataDir': _userDataDir,
        'defaultViewport': None
    })
    
  • 检查权限与沙箱设置:Windows环境下尝试以管理员身份运行脚本,确保--no-sandbox和--disable-setuid-sandbox参数生效,避免权限限制导致扩展加载失败

  • 验证扩展自动化兼容性:部分扩展会检测自动化环境并拒绝加载,即使使用stealth也可能无法绕过。可以尝试在扩展的配置中关闭自动化检测,或更换支持自动化加载的扩展版本

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 17:23:32