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

Selenium配置Chrome指定Profile时WebDriver崩溃问题

解决Selenium启动Chrome指定Profile时的SessionNotCreatedException错误

你遇到的SessionNotCreatedException(提示DevToolsActivePort文件不存在)是Selenium调用Chrome指定Profile时的常见问题,以下是几个可行的解决办法:

1. 先关闭所有Chrome进程

如果有Chrome浏览器(包括后台进程)正在运行,会锁定用户数据目录,导致Selenium无法启动新实例。打开任务管理器,结束所有chrome.exe和chromedriver.exe进程后再重新运行代码。

2. 调整参数传递并添加必要配置

原代码的参数写法可能因路径空格或缺少调试端口配置导致错误,修改后的代码如下:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time

opt = Options()
opt.add_argument("--no-sandbox")
# 给带空格的路径添加引号,避免解析错误
opt.add_argument(r"--user-data-dir='C:\Users\My User\AppData\Local\Google\Chrome\User Data'")
opt.add_argument(r'--profile-directory=Profile 3')
# 添加调试端口和禁用共享内存参数,解决DevToolsActivePort问题
opt.add_argument("--remote-debugging-port=9222")
opt.add_argument("--disable-dev-shm-usage")

driver = webdriver.Chrome(options=opt)

def open_web_whatsap():    
    driver.get("https://web.whatsapp.com/")
    time.sleep(20)    

open_web_whatsap()

3. 确认ChromeDriver与Chrome版本匹配

ChromeDriver必须和本地Chrome浏览器版本完全对应,否则会启动失败:

  • 打开Chrome,输入chrome://version/查看浏览器版本
  • 下载对应版本的ChromeDriver替换现有驱动

4. 复制Profile到独立目录(避免冲突)

如果不想关闭正在使用的Chrome,可以把Profile 3文件夹复制到一个新的独立目录,然后修改代码指向这个新目录,这样就不会和正在运行的Chrome实例冲突:

# 指向复制后的Profile目录
opt.add_argument(r"--user-data-dir='C:\Users\My User\Desktop\My_Chrome_Profile'")
opt.add_argument(r'--profile-directory=Profile 3')

注意:复制Profile时要确保Chrome没有运行,否则可能复制不完整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 21:28:34