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

使用Chrome配置文件时Selenium崩溃,如何为Selenium实例添加配置文件?

解决Selenium启动Chrome配置文件后崩溃的问题

错误原因分析

出现DevToolsActivePort file doesn't exist崩溃,核心原因是Chrome用户数据目录被占用,或者启动参数配置不当,导致Selenium无法正常连接Chrome的调试端口。

分步解决方案

  1. 关闭所有Chrome进程

    • 打开任务管理器,终止所有chrome.exe进程。Selenium使用用户数据目录时,不能有其他Chrome实例占用该目录,否则会触发文件锁冲突,直接导致崩溃。
  2. 修正用户数据目录参数

    • 你当前的user-data-dir末尾多了一个冗余反斜杠,修正为正确路径格式:
      options.add_argument(r"user-data-dir=C:\Users\F\AppData\Local\Google\Chrome\User Data")
      
    • 原始字符串r""已能正确处理路径中的空格,无需额外转义。
  3. 添加稳定启动参数

    • 补充几个参数避免调试端口冲突和沙箱限制:
      options.add_argument("--no-sandbox")
      options.add_argument("--disable-dev-shm-usage")
      options.add_argument("--remote-debugging-port=9222")  # 指定固定调试端口
      

完整修正代码

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager

options = Options()
options.add_experimental_option("detach", True)
# 修正用户数据目录路径
options.add_argument(r"user-data-dir=C:\Users\F\AppData\Local\Google\Chrome\User Data")
options.add_argument("--profile-directory=Profile 1")
# 加入稳定参数
options.add_argument("--no-sandbox")
options.add_argument("--disable-dev-shm-usage")
options.add_argument("--remote-debugging-port=9222")

driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()),
                          options=options)

driver.get("https://google.com")  # 补全协议头,确保正常加载
driver.maximize_window()

额外检查项

  • 确认Profile 1目录确实存在于C:\Users\F\AppData\Local\Google\Chrome\User Data下;
  • 如果问题依旧,尝试复制Profile 1到非系统目录(比如D:\ChromeProfiles\Profile1),修改user-data-dir指向新路径,避免原目录被系统进程占用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 00:05:28