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

Python Selenium如何指定启动Chrome的特定用户配置文件

问题原因

你遇到的自动拼接\Default目录的问题是Chrome启动参数的固有逻辑导致的:
user-data-dir参数的作用是指定Chrome存放所有配置文件的根目录,默认不额外指定配置名称时,Chrome会自动加载根目录下的Default配置。你之前把具体的Profile 16路径传给user-data-dir,Chrome会将该路径作为根目录,自动在其下创建Default文件夹作为加载的配置,就出现了路径拼接的问题。

解决方案

需要拆分两个参数分别配置,不要把具体Profile路径传给user-data-dir:

  1. user-data-dir参数填写到Chrome配置根目录「User Data」的层级即可,不需要深入到具体Profile文件夹
  2. 额外添加profile-directory参数,取值为你要加载的具体配置文件夹的名称,也就是Profile 16

正确代码示例

Selenium 3.x版本写法

from selenium import webdriver

options = webdriver.ChromeOptions()
# 使用原始字符串避免路径转义问题,路径仅到User Data层级
options.add_argument(r"user-data-dir=C:\Users\user123\AppData\Local\Google\Chrome\User Data")
# 单独指定要加载的配置文件夹名称
options.add_argument("profile-directory=Profile 16")

driver = webdriver.Chrome(executable_path=r"C:\Users\chromedriver.exe", chrome_options=options)

Selenium 4.x版本写法

Selenium 4开始已废弃chrome_options和executable_path直接传参的写法,调整为通过Service对象传入驱动路径:

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

options = webdriver.ChromeOptions()
options.add_argument(r"user-data-dir=C:\Users\user123\AppData\Local\Google\Chrome\User Data")
options.add_argument("profile-directory=Profile 16")

service = Service(executable_path=r"C:\Users\chromedriver.exe")
driver = webdriver.Chrome(service=service, options=options)

注意事项

  • 运行代码前必须关闭所有正在运行的Chrome窗口,否则Chrome会锁定配置文件,导致Selenium无法正常加载指定配置,依旧生成临时配置
  • 启动后可访问chrome://version/查看Profile Path参数,确认路径为C:\Users\user123\AppData\Local\Google\Chrome\User Data\Profile 16即为加载成功
  • 需提前确认本地Chrome的「User Data」目录下确实存在名为Profile 16的文件夹,避免拼写错误导致加载失败
  • 如果你要加载的是Chrome默认的Default配置,不需要添加profile-directory参数即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 04:57:00