使用Selenium启动Chrome Driver报错:指定路径仍查找旧版本
解决Selenium启动Chrome Driver(CfT新版)找旧驱动的问题
核心问题
你用的旧版DriverFinder没适配Chrome for Testing(CfT)的新驱动分发机制,导致程序仍在查找旧版chromedriver。现在Selenium 4.6.0+已经原生支持CfT驱动的自动管理,无需手动找路径。
解决方案步骤
升级Selenium到4.6.0或更高版本
这是关键前提,只有该版本及以上才内置了CfT驱动的自动适配功能。修改代码,移除旧的
DriverFinder调用
直接让Selenium自动匹配并下载对应stable版本的CfT驱动,调整后代码如下:
ChromeOptions options = new ChromeOptions() { BrowserVersion = "stable" }; options.AddExcludedArgument("enable-automation"); options.AddArguments("--disable-infobars"); // 无需手动指定路径,Selenium会自动处理CfT驱动的下载与匹配 IWebDriver driver = new ChromeDriver(options);
- 如果必须手动指定驱动路径
下载对应Chrome版本的Chrome for Testing驱动包,构造ChromeDriver时传入驱动所在的文件夹路径(注意是文件夹,而非单个exe文件):
string cftDriverFolderPath = @"C:\your-driver-path\chromedriver-win64"; // 替换为你的CfT驱动文件夹路径 IWebDriver driver = new ChromeDriver(cftDriverFolderPath, options);
额外注意
- 确保你的Chrome浏览器是stable版本,与代码中指定的
BrowserVersion一致 - 不要混用旧版chromedriver和新版CfT驱动,两者的文件名、目录结构存在差异
内容的提问来源于stack exchange,提问作者Sandesh J
相关产品推荐
相关产品推荐

