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

Selenium调用Chrome提示启动失败(正常退出)的问题求助

解决ChromeDriver复用已打开Chrome配置文件报错的思路

核心问题原因

当Chrome已处于运行状态(无论使用哪个配置文件),你指定的--user-data-dir目录会被正在运行的Chrome进程占用,导致ChromeDriver无法启动新的Chrome实例并绑定该目录,最终触发"chrome not reachable"错误。

具体解决办法

1. 关闭所有Chrome进程后启动程序

这是最直接的临时方案:

  • 打开任务管理器,结束所有chrome.exe进程
  • 再运行Selenium代码,此时ChromeDriver能独占用户数据目录,正常启动并复用目标配置文件

2. 复用已运行的Chrome实例(推荐)

不让ChromeDriver启动新实例,而是连接到已经开启调试端口的Chrome:

步骤1:手动启动带调试端口的Chrome

右键Chrome快捷方式,修改目标路径,在末尾添加参数(注意和原路径间留空格):
--remote-debugging-port=9222 --user-data-dir="C:\Users\your_username\AppData\Local\Google\Chrome\User Data" --profile-directory="Profile 1"

  • 启动Chrome后,确保已经登录WhatsApp网页版(完成扫码)

步骤2:修改代码连接到已运行的Chrome

ChromeOptions options = new ChromeOptions();
options.DebuggerAddress = "localhost:9222"; // 绑定到已开启调试的Chrome端口
IWebDriver driver = new ChromeDriver(options);
// 若Chrome已打开WhatsApp,无需再执行导航操作
// driver.Navigate().GoToUrl("https://web.whatsapp.com/");

3. 使用独立复制的用户数据目录

避免和正在运行的Chrome共享目录:

  • 复制C:\Users\your_username\AppData\Local\Google\Chrome\User Data到新路径,比如C:\Chrome_Profile_Backup
  • 修改代码中的路径参数:
options.AddArguments(@"--user-data-dir=C:\Chrome_Profile_Backup");
options.AddArguments("--profile-directory=Profile 1");
  • 首次运行代码时启动新Chrome实例,登录WhatsApp后,后续运行不受原Chrome进程影响

4. 修正参数拼写错误

你的代码中--disable-dev-shm-using是错误参数,正确应为--disable-dev-shm-usage,该错误可能影响Chrome启动,建议修正。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 14:30:17