如何在Linux系统ChromeDriver的ChromeOptions中添加Chrome默认配置文件
问题原因及解决方法
核心错误点
你配置的路径存在两处逻辑错误,直接导致配置读取失败:
- Linux下
~符号本身对应当前用户的home目录(即/home/你的用户名),你写的~/home/myUser/属于路径重复拼接,实际不存在该路径 - Chrome的
user-data-dir参数需要指向配置根目录,而不是里面的Default子目录,Default是Chrome默认的配置分组文件夹,不需要写到参数中,和Windows下你配置到User Data而非User Data\Default是同一个逻辑
正确配置代码
import os from selenium import webdriver from selenium.webdriver.chrome.options import Options options = Options() # 方法1:直接写绝对路径,替换成你自己的用户名 options.add_argument("user-data-dir=/home/myUser/.config/google-chrome") # 方法2:自动解析~路径,适配不同用户名场景 # options.add_argument(f"user-data-dir={os.path.expanduser('~/.config/google-chrome')}") driver = webdriver.Chrome(options=options)
额外注意事项
- 运行代码前必须完全关闭所有已经打开的Chrome浏览器窗口,同一个配置目录同时只能被一个Chrome进程占用,否则也会启动空白新会话
- 确认运行代码的用户对
~/.config/google-chrome目录有读写权限,不要用root用户读取普通用户的Chrome配置,会因权限不足读取失败 - 如果需要调用
Default以外的其他配置分组,可以额外添加参数options.add_argument('profile-directory=Profile 1'),其中Profile 1对应Chrome配置文件夹的实际名称
内容的提问来源于stack exchange,提问作者IBot
相关产品推荐
相关产品推荐

