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

如何使用Selenium同时打开多个Chrome配置文件实例

报错翻译

你遇到的报错user data directory is already in use, please specify a unique value for --user-data-dir argument, or don't use --user-data-dir中文含义为:用户数据目录已被占用,请为--user-data-dir参数指定唯一值,或不使用--user-data-dir参数。

报错原因

Chrome 对用户数据根目录有独占锁机制:你的所有启动实例都指定了同一个--user-data-dir路径(即Chrome默认的全局用户数据根目录),即使通过profile-directory参数切换了子配置文件夹,所有实例仍然会争抢根目录的独占锁,同一时间仅能有一个实例正常运行。

解决方案

方案1:为每个实例分配独立的用户数据根目录(推荐)

彻底规避目录锁冲突,每个Selenium实例单独指定独立的用户数据根目录即可,示例代码如下:

from os.path import expanduser
# 示例:启动3个独立的Chrome实例
profile_list = ["work", "personal", "test"]
for profile_name in profile_list:
    options = webdriver.ChromeOptions()
    # 每个实例对应独立的根目录,不要共用默认的User Data根路径
    custom_data_dir = f"{expanduser}\\AppData\\Local\\Google\\Chrome\\User Data_{profile_name}"
    options.add_argument(f"--user-data-dir={custom_data_dir}")
    # 初始化driver即可正常启动
    driver = webdriver.Chrome(options=options)

首次启动对应实例时,Chrome会自动生成对应目录的配置文件,后续启动会沿用该目录下的缓存、插件、登录状态等数据。

方案2:需共用默认根目录下已有配置的处理逻辑

如果必须使用默认User Data根目录下的已有配置,需满足两个前提:

  • 启动Selenium实例前,彻底关闭所有Chrome进程(包括后台驻留的Chrome通知、扩展进程等)
  • 同一时间仅能启动一个Selenium Chrome实例,等前一个实例完全退出、释放目录锁后,再启动下一个实例

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 17:06:03