You need to enable JavaScript to run this app. C# Selenium ChromeDriver报Invalid --log-level value启动失败如何解决
优惠活动
大模型
产品
解决方案
定价
更多

C# Selenium ChromeDriver报Invalid --log-level value启动失败如何解决

核心报错原因

你遇到的问题全部由配置错误导致,无需手动创建DevToolsActivePort文件,该文件是Chrome启动成功后自动生成的临时文件,启动失败自然找不到该文件:

  • BinaryLocation参数配置错误:该参数用于指定Chrome浏览器本体的可执行文件路径,你错误填写为chromedriver.exe(驱动程序)的路径,导致驱动尝试把驱动当浏览器启动,直接触发进程崩溃。
  • --disable-logging参数不兼容:新版Chrome已废弃该参数,你添加该参数后直接触发控制台输出Invalid --log-level value错误,导致进程初始化失败退出。

修正后的代码示例

如果chromedriver.exe放在程序运行目录,可通过ChromeDriverService显式指定驱动路径,代码如下:

// 指定chromedriver驱动的所在路径
var driverService = ChromeDriverService.CreateDefaultService("./", "chromedriver.exe");
ChromeOptions op = new ChromeOptions();
// 如需使用独立便携版Chrome,取消下方注释,填便携版chrome.exe的相对/绝对路径
// op.BinaryLocation = "./chrome-win/chrome.exe";

// 移除废弃的--disable-logging参数,用--log-level=3仅输出错误日志,保留其他稳定参数
op.AddArguments("--headless=new", "--disable-gpu", "--no-sandbox", "--disable-dev-shm-usage", "--log-level=3");

ChromeDriver driver = new ChromeDriver(driverService, op);

实现程序自包含(不依赖系统安装的Chrome)的方案

完全可以实现,操作步骤如下:

  • 下载和你所用chromedriver.exe大版本完全匹配的Chrome便携版压缩包
  • 解压后将整个Chrome目录放到程序运行目录中,比如命名为chrome-win
  • 取消上方代码中BinaryLocation的注释,修改为便携版目录中chrome.exe的相对路径即可
  • 打包时将chromedriver.exe、Chrome便携版目录和程序文件一起打包,拷到任意Windows设备都可直接运行,无需依赖系统安装的Chrome。

额外排查注意事项

  • 必须保证chromedriver.exe和Chrome的大版本完全一致,版本不匹配会直接导致启动失败
  • 右键点击chromedriver.exe和Chrome的chrome.exe,查看属性页如果有「解除锁定」选项,需要点击解锁后再运行
  • 避免将程序放在中文路径、带特殊符号或空格的路径下,防止路径解析错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 18:15:01