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

Selenium启动Chrome报user data directory已占用错误,现有方案无效如何解决

问题根因

你之前尝试的两个方案报错,核心有两个问题:

  1. 你指定的Profile 2/3正在被本地手动打开的Chrome浏览器占用,同一时间同一个用户数据目录不支持两个Chrome进程同时读写
  2. 配置参数的路径逻辑写错:--user-data-dir参数只需要填到Chrome用户数据根目录(一般是C:\Users\Simone\AppData\Local\Google\Chrome\User Data),不需要写到具体的Profile子文件夹,--profile-directory才是用来指定具体要加载哪个Profile子文件夹的参数,你之前把两个参数的路径层级搞混,导致Selenium找不到正确的目录。

解决方案

方案1:无需保留登录/配置记录(最适合新手入门)

如果不需要复用已有的Chrome登录状态、插件等配置,直接让Selenium生成临时匿名会话即可,完全不会出现目录占用问题,代码简化为:

from selenium import webdriver

# 高版本Selenium(4.0+)不需要手动指定chromedriver路径,会自动匹配适配的驱动
driver = webdriver.Chrome()
driver.get("https://www.google.com/")

如果是低版本Selenium需要手动指定驱动,代码如下:

from selenium import webdriver

driver = webdriver.Chrome(executable_path=r'./chromedriver.exe')
driver.get("https://www.google.com/")

方案2:需要复用已有Chrome配置

如果必须要用到本地Chrome里的登录态、书签、插件等内容,按以下步骤修改:

  1. 先关闭所有本地打开的Chrome窗口,打开任务管理器结束所有chrome.exe后台进程,避免目录占用
  2. 修正配置参数的路径写法,示例代码如下:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
# user-data-dir只写到根目录User Data层
options.add_argument(r'--user-data-dir=C:\Users\Simone\AppData\Local\Google\Chrome\User Data')
# 单独指定要加载的Profile文件夹名
options.add_argument(r'--profile-directory=Profile 3')
# 注意旧版本的chrome_options参数已被弃用,统一用options参数传递配置
driver = webdriver.Chrome(executable_path=r'.\chromedriver.exe', options=options)
driver.get("https://www.google.com/")

方案3:给自动化单独创建专属Profile(长期用最稳定)

如果不想每次跑代码都关闭本地Chrome,可以单独给Selenium创建一个专属的Profile,不要和日常使用的Profile混用:

  1. 打开Chrome新建一个Profile,命名为Selenium专属,创建完成后关闭所有Chrome窗口
  2. 找到这个新Profile对应的文件夹名(一般是Profile 4之类的,按你自己的实际情况修改)
  3. 跑代码的时候只加载这个专属Profile,日常不要手动打开这个Profile使用,就不会出现占用问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 11:39:03