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

Selenium启动Chrome时抛出System.IO.IOException:句柄无效异常

解决方案:Selenium ChromeDriver 抛出 System.IO.IOException: The handle is invalid.

针对你遇到的异常,以下是几个直接可行的排查和解决步骤:

1. 严格匹配ChromeDriver与Chrome浏览器版本

你的Chrome浏览器版本是129.0.6668.59,但安装的ChromeDriver版本是129.0.6668.5800,小版本号不一致可能触发兼容性问题。请下载与浏览器完全匹配的ChromeDriver版本(即对应129.0.6668.59的驱动),替换现有驱动文件。

2. 显式指定ChromeDriver路径

避免依赖NuGet自动部署的驱动,手动指定路径确保加载正确:

// 替换为你的ChromeDriver实际存放路径
var driverService = ChromeDriverService.CreateDefaultService(@"C:\Your\ChromeDriver\Path");
var driver = new ChromeDriver(driverService);
driver.Navigate().GoToUrl("https://www.google.com/");

3. 添加Chrome启动参数规避环境限制

部分环境(如CI服务器、受限用户账户)会限制Chrome启动,添加以下参数尝试解决:

var options = new ChromeOptions();
options.AddArgument("--no-sandbox"); // 禁用沙箱模式
options.AddArgument("--disable-dev-shm-usage"); // 避免/dev/shm内存不足问题
options.AddArgument("--headless=new"); // 若不需要可视化界面,可启用无头模式(可选)

var driver = new ChromeDriver(options);
driver.Navigate().GoToUrl("https://www.google.com/");

4. 修复NuGet包依赖

删除项目目录下的packages文件夹,然后在NuGet包管理器中执行还原操作,重新安装Selenium相关包,避免包文件损坏导致的异常。

5. 检查系统权限与干扰程序

  • 确保运行测试的用户账户对ChromeDriver文件及所在目录有读写和执行权限;
  • 临时关闭杀毒软件、防火墙等安全程序,排查是否存在拦截ChromeDriver或Chrome启动的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 04:19:56