使用Selenium ChromeDriver启动自定义Chrome配置文件不符合预期如何解决?
问题原因及解决方案
核心错误为Chrome启动参数拼写错误:你使用的user-data-directory不是Chrome的合法命令行参数,正确参数名为user-data-dir。
除修正参数外,还需检查以下配置及前置条件:
- 运行代码前必须关闭所有已打开的Chrome进程,否则Chrome会复用现有进程,直接跳过你指定的配置加载逻辑
- 带空格的文件路径建议用双引号包裹,避免系统解析路径时截断出错
- 确认ChromeDriver版本与本地安装的Chrome浏览器大版本完全匹配,版本不兼容会导致配置加载异常
- 若仍加载失败,可将完整的
User Data目录复制到非系统权限目录(例如自定义的非C盘目录)后再指定路径,避免系统目录权限限制导致读取配置失败
修正后的代码如下:
var options = new ChromeOptions(); options.AddArgument("start-maximized"); // 修正参数名,路径用双引号包裹避免空格解析错误 options.AddArgument(@"user-data-dir=""C:\Users\User\AppData\Local\Google\Chrome\User Data"""); options.AddArgument(@"profile-directory=Default - Copy"); driver1 = new ChromeDriver(@"C:\Development\ChromeDrivers\96", options);
内容的提问来源于stack exchange,提问作者Ali
相关产品推荐
相关产品推荐

