Selenium Python启动Chrome指定配置文件自动追加/Default路径如何解决
问题根因
核心是Chrome启动参数的概念混淆,你错把单个配置文件的路径传给了user-data-dir参数:
user-data-dir接收的是Chrome的全局用户数据根目录,macOS下默认路径为/Users/[你的用户名]/Library/Application Support/Google/Chrome/,这个目录下存放了Chrome所有的Profile配置、缓存、扩展数据。- 你要加载的
Profile 13是根目录下的独立配置文件夹,需要通过单独的profile-directory参数指定,直接把Profile路径传给user-data-dir时,Chrome会默认在传入路径下寻找名为Default的默认配置,这就是你看到路径自动追加/Default后缀的根本原因。
另外你路径里加的转义反斜杠\是多余的,Python传字符串路径时不需要做命令行式的空格转义,多余的转义符会被识别为路径的一部分,进一步导致路径识别异常。
修复方案
替换原有配置参数即可,修正后的代码如下:
from selenium import webdriver from selenium.webdriver.chrome.service import Service from webdriver_manager.chrome import ChromeDriverManager def open_browser(): optionsinput = webdriver.ChromeOptions() # 传入Chrome全局用户数据根目录,不要带具体Profile名,去掉多余的转义反斜杠 optionsinput.add_argument("user-data-dir=/Users/User1/Library/Application Support/Google/Chrome/") # 单独指定要加载的配置文件夹名称 optionsinput.add_argument("profile-directory=Profile 13") driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=optionsinput) driver.implicitly_wait(10) return driver
避坑提示
- 运行脚本前必须彻底关闭所有Chrome进程,包括后台驻留的更新、插件相关进程,否则会因为用户数据目录被锁导致配置加载失败,严重时可能损坏本地浏览数据。macOS下可直接执行
killall Google\ Chrome命令一键关闭所有Chrome进程。 - 不要手动在Profile文件夹下新建Default子目录,不符合Chrome的目录结构规范,会导致扩展、配置读取异常。
- 启动后可访问
chrome://version/校验配置文件路径,正常情况下显示的Profile Path应为/Users/User1/Library/Application Support/Google/Chrome/Profile 13,无多余的Default后缀,预装的扩展即可正常加载。
内容的提问来源于stack exchange,提问作者Lanski
相关产品推荐
相关产品推荐

