如何在Pop!_OS Linux系统用Selenium加载Brave默认配置文件?
解决Selenium加载Brave默认配置文件失败的问题
问题场景
在Pop!_OS系统上使用Brave浏览器,尝试通过--user-data-dir参数指定默认配置文件夹/home/sxvxge/.config/BraveSoftware/Brave-Browser/Default,但Selenium启动的浏览器实例未加载任何已有配置,所有路径均验证有效。
解决方案
1. 修正--user-data-dir参数的路径指向
--user-data-dir需要指向Brave用户数据的根目录,而不是Default子文件夹。Default是根目录下的默认配置文件目录,直接指定它会导致Selenium创建新的用户数据环境,而非加载已有配置。
修正后的参数配置:
# 指定用户数据根目录 options.add_argument(r"--user-data-dir=/home/sxvxge/.config/BraveSoftware/Brave-Browser/") # 添加指定配置文件目录的参数 options.add_argument("--profile-directory=Default")
2. 关闭所有运行中的Brave进程
如果有Brave浏览器实例在后台运行,Selenium无法独占加载配置文件。启动脚本前执行以下命令关闭所有Brave进程:
killall brave-browser
3. 确保Chromedriver与Brave版本匹配
Chromedriver版本必须和当前安装的Brave版本完全一致,否则会出现兼容性问题。
查看Brave版本:
brave-browser --version
根据输出的版本号下载对应版本的Chromedriver,并确保代码中指定的路径正确。
4. 检查配置目录权限
确保当前用户对Brave用户数据目录有读写权限,避免Selenium无法读取配置文件:
# 查看目录权限 ls -ld /home/sxvxge/.config/BraveSoftware/Brave-Browser/ # 若权限不足,调整权限 chmod -R u+rwx /home/sxvxge/.config/BraveSoftware/Brave-Browser/
修正后的完整代码示例
from selenium import webdriver from selenium.webdriver.chrome.service import Service options = webdriver.ChromeOptions() options.binary_location = '/opt/brave.com/brave/brave' # 配置用户数据目录和指定配置文件 options.add_argument(r"--user-data-dir=/home/sxvxge/.config/BraveSoftware/Brave-Browser/") options.add_argument("--profile-directory=Default") # 替换为你的chromedriver实际路径 service = Service(self.chromedriver) driver = webdriver.Chrome(service=service, options=options) driver.get("https://example.com")
内容的提问来源于stack exchange,提问作者Sxvxgeness
相关产品推荐
相关产品推荐

