Selenium C# 4.7.0使用ChromeDriver时抛出System.ComponentModel.Win32Exception
问题描述
测试代码如下:
public class Tests { [Test] public void Test1() { var d = new ChromeDriver(); d.Navigate().GoToUrl("https://www.google.com"); TestContext.WriteLine("Opened successfully"); } }
切换为Firefox、Safari或Edge浏览器时代码可正常运行,但使用Chrome时抛出异常,控制台及结果消息均显示:
System.ComponentModel.Win32Exception : An error occurred trying to start process '/usr/local/bin/chromedriver' with working directory '/Users/testuser/Documents/SeleniumCSharp/DemoSelenium/DemoSelenium/bin/Debug/net6.0'. No such file or directory
解决方案
1. 验证ChromeDriver的路径是否存在
打开终端执行命令:
ls /usr/local/bin/chromedriver
如果返回「No such file or directory」,说明ChromeDriver未安装或路径配置错误。
2. 正确安装ChromeDriver(匹配Chrome版本)
手动安装步骤
- 打开Chrome,输入
chrome://version/查看浏览器版本。 - 下载完全对应版本的ChromeDriver(注意适配Apple Silicon/Intel架构)。
- 把下载的ChromeDriver移动到指定目录:
mv ~/Downloads/chromedriver /usr/local/bin/ - 赋予执行权限:
chmod +x /usr/local/bin/chromedriver
包管理器安装(更省心)
如果用Homebrew,直接在终端执行:
brew install chromedriver
Homebrew会自动处理路径、权限和版本匹配问题。
3. 代码中指定ChromeDriver路径(可选)
如果ChromeDriver安装在非默认路径,可在代码里直接指定:
var options = new ChromeOptions(); // 替换成你的ChromeDriver实际存放路径 var driverPath = "/Users/xxx/Documents/chromedriver/"; var d = new ChromeDriver(driverPath, options);
4. 检查版本兼容性
确保ChromeDriver和Chrome浏览器的主版本号一致(比如Chrome 124.x对应ChromeDriver 124.x),版本不匹配也会导致启动失败。
内容的提问来源于stack exchange,提问作者Rajesh G
相关产品推荐
相关产品推荐

