如何用Python+Selenium启动带扩展程序的Brave浏览器?
问题原因
- Selenium启动Brave时默认使用临时干净的用户配置文件,不会调用你日常使用的Brave用户数据,因此你安装的扩展不会自动加载。
- 代码中未配置任何与扩展加载相关的参数,也未关联到包含扩展数据的用户目录。
解决方法
方法一:使用现有Brave用户配置加载所有扩展
这种方法会直接复用你平时使用Brave的用户数据,所有已安装的扩展都会自动加载。注意启动前要关闭所有正在运行的Brave窗口,避免冲突。
修改代码如下:
from selenium import webdriver driver_path = "C:/Users/User1/chromedriver.exe" brave_path = "C:/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe" option = webdriver.ChromeOptions() option.binary_location = brave_path # 替换为你的Brave用户数据目录路径 option.add_argument(r"user-data-dir=C:\Users\User1\AppData\Local\BraveSoftware\Brave-Browser\User Data") # 注意:chrome_options已废弃,改用options参数 browser = webdriver.Chrome(executable_path=driver_path, options=option) browser.get("https://www.google.com")
方法二:手动加载单个指定扩展
如果只需要加载特定扩展,不需要整个用户配置,可以直接指定扩展文件或文件夹路径:
方式1:加载CRX格式的扩展文件
from selenium import webdriver driver_path = "C:/Users/User1/chromedriver.exe" brave_path = "C:/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe" option = webdriver.ChromeOptions() option.binary_location = brave_path # 替换为你的扩展CRX文件路径 option.add_extension(r"C:\path\to\your\target_extension.crx") browser = webdriver.Chrome(executable_path=driver_path, options=option) browser.get("https://www.google.com")
方式2:加载扩展文件夹
Brave的扩展文件夹一般位于User Data\Default\Extensions下,找到对应扩展的ID和版本号文件夹后,用以下方式加载:
from selenium import webdriver driver_path = "C:/Users/User1/chromedriver.exe" brave_path = "C:/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe" option = webdriver.ChromeOptions() option.binary_location = brave_path # 替换为你的扩展文件夹路径 option.add_argument(r"load-extension=C:\Users\User1\AppData\Local\BraveSoftware\Brave-Browser\User Data\Default\Extensions\<扩展ID>\<版本号>") browser = webdriver.Chrome(executable_path=driver_path, options=option) browser.get("https://www.google.com")
额外注意事项
- 确保ChromeDriver的版本与你的Brave浏览器版本完全匹配,版本不兼容会导致各种异常。
- 代码中
chrome_options参数已被官方废弃,建议统一使用options参数。
内容的提问来源于stack exchange,提问作者Mario3233
相关产品推荐
相关产品推荐

