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

使用Selenium Python打开多个Brave配置文件失败求助

问题排查与修复方案

导致失败的关键原因

  1. 用户数据目录锁冲突:所有浏览器实例共用同一个--user-data-dir,Brave会对该目录加锁,同一时间仅允许一个进程访问,后续实例无法获取锁直接退出
  2. 无独立调试端口:未指定--remote-debugging-port,多个实例尝试使用默认调试端口,引发端口占用冲突
  3. 启动初始化干扰:Brave启动时的首次运行引导、默认浏览器检测等流程会中断Selenium会话,导致浏览器异常关闭

修正后的代码

from selenium import webdriver
import time
from selenium.webdriver.chrome.service import Service

drivers = []
# 为每个实例分配唯一的远程调试端口
debug_ports = [9222, 9223, 9224, 9225]

for idx in range(4):
    profile_num = idx + 1
    options = webdriver.ChromeOptions()
    
    # 替换为你电脑上Brave.exe的绝对路径
    options.binary_location = "C:\\Program Files\\BraveSoftware\\Brave-Browser\\Application\\brave.exe"
    
    # 每个实例使用独立的用户数据目录,避免锁冲突
    user_data_path = f"C:\\Users\\你的用户名\\AppData\\Local\\BraveSoftware\\Brave-Browser\\User Data\\Instance_{profile_num}"
    options.add_argument(f"--user-data-dir={user_data_path}")
    
    # 指定专属调试端口,防止端口抢占
    options.add_argument(f"--remote-debugging-port={debug_ports[idx]}")
    
    # 禁用不必要的启动流程,稳定会话
    options.add_argument("--no-first-run")
    options.add_argument("--no-default-browser-check")
    options.add_argument("--disable-background-networking")
    
    # 替换为你chromedriver的绝对路径,确保版本与Brave一致
    service = Service("C:\\tools\\chromedriver.exe")
    driver = webdriver.Chrome(service=service, options=options)
    
    driver.get("https://google.com")
    drivers.append(driver)
    time.sleep(2)

# 用完后记得关闭所有会话
# for driver in drivers:
#     driver.quit()

重要注意事项

  • 路径必须是绝对路径:binary_location、user_data_path、chromedriver路径都不能用相对路径,否则会找不到文件
  • 版本匹配:chromedriver的版本必须和你的Brave浏览器版本完全对应,比如Brave是1.62.x,chromedriver也要用119.x版本(对应Chrome内核版本)
  • 预创建配置文件(可选):如果需要使用已有的自定义配置,把现有Profile目录复制到对应的Instance_{profile_num}目录下即可
  • 权限检查:确保Python有读写用户数据目录的权限,否则会出现启动失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 04:51:19