使用SpecFlow+C#调用ChromeDriver时无法启动驱动服务问题
环境配置
- 目标框架:.NET 6
- Selenium.WebDriver.ChromeDriver版本:115.0.5790.17000
- Selenium.WebDriver版本:4.11.0
- Chrome浏览器版本:115.0.5790.171
遇到的错误
OpenQA.Selenium.WebDriverException : Cannot start the driver service on http://localhost:60975/
驱动初始化代码
new WebDriverManager.DriverManager().SetUpDriver(new ChromeConfig()); driver = new ChromeDriver(); driver.Navigate().GoToUrl("www.google.com");
解决方法
确认ChromeDriver完整性
虽然版本号与Chrome匹配,但可能存在下载过程中文件损坏的情况,重新下载对应Chrome版本的ChromeDriver,替换现有文件。手动指定ChromeDriver路径
避免WebDriverManager的路径配置问题,直接指定驱动文件路径初始化:// 替换为你的ChromeDriver实际存放路径 string driverPath = @"C:\WebDrivers"; var driverService = ChromeDriverService.CreateDefaultService(driverPath); driver = new ChromeDriver(driverService); driver.Navigate().GoToUrl("https://www.google.com");注意:
GoToUrl需要传入完整URL(带上https://),否则会引发额外异常。更换驱动启动端口
错误中的60975端口可能被其他程序占用,尝试指定未被占用的端口:var driverService = ChromeDriverService.CreateDefaultService(); driverService.Port = 60976; // 自定义未占用端口 driver = new ChromeDriver(driverService);提升程序运行权限
右键启动程序,选择“以管理员身份运行”,避免权限不足导致驱动服务无法启动。禁用Chrome沙箱模式
部分环境下沙箱会限制驱动启动,添加启动参数:var options = new ChromeOptions(); options.AddArgument("--no-sandbox"); options.AddArgument("--disable-dev-shm-usage"); // 缓解资源限制问题 driver = new ChromeDriver(options);
内容的提问来源于stack exchange,提问作者Naveen
相关产品推荐
相关产品推荐

