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

求助:Selenium+ChromeDriver启动Chrome时出现DevToolsActivePort文件不存在报错

Selenium + ChromeDriver启动Chrome报错解决方案

报错信息

Exception calling ".ctor" with "2" argument(s): "unknown error: Chrome failed to start: exited normally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location C:\Program Files\Google\Chrome\Application\chrome.exe is no longer running, so ChromeDriver is assuming that Chrome has crashed.)"

已尝试操作

  • 更新至最新版Chrome(Version 108.0.5359.99 32位)
  • 更新ChromeDriver至108.0.5359.71
  • 更新Selenium Web Driver(C# 4.7.0)

可行解决办法

1. 配置Chrome启动参数

初始化ChromeDriver时添加以下参数,解决端口和权限相关问题:

var options = new ChromeOptions();
// 禁用沙箱模式,避免系统权限限制
options.AddArgument("--no-sandbox");
// 禁用GPU加速,适配部分环境兼容性
options.AddArgument("--disable-gpu");
// 手动指定调试端口,解决DevToolsActivePort缺失问题
options.AddArgument("--remote-debugging-port=9222");
// 设置自定义用户数据目录,避免临时目录权限冲突
options.AddArgument(@"--user-data-dir=C:\Temp\ChromeProfile");

var driver = new ChromeDriver(options);

2. 清理残留进程

运行脚本前强制结束所有Chrome相关进程:

  • 手动操作:打开任务管理器,结束所有chrome.exe和chromedriver.exe进程
  • 代码实现:
// 清理Chrome进程
foreach (var process in Process.GetProcessesByName("chrome"))
{
    process.Kill();
}
// 清理ChromeDriver进程
foreach (var process in Process.GetProcessesByName("chromedriver"))
{
    process.Kill();
}

3. 检查权限设置

  • 确保运行脚本的账户对C:\Program Files\Google\Chrome\Application目录拥有读写权限
  • 尝试以管理员身份运行脚本或开发工具,规避权限不足问题

4. 更换Chrome版本

如果32位版本存在兼容性问题,可尝试安装64位Chrome,并匹配对应的64位ChromeDriver,确保版本完全一致

5. 禁用Chrome自动更新

自动更新残留文件可能导致启动异常,通过注册表禁用更新:

  1. 打开注册表编辑器(运行regedit)
  2. 定位到HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome
  3. 创建两个DWORD值:AutoUpdateCheckPeriodMinutes(值设为0)、UpdateDefault(值设为0)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 13:31:02