Selenium Chrome未应用扩展与启动参数的问题求助
问题原因与解决方案
你的代码核心问题是:创建了ChromeOptions配置,但未将其传递给ChromeDriver的构造函数,导致Selenium以默认配置启动浏览器,自定义的启动参数和扩展都未生效。
修正后的代码
void ChromeSession() { const string siteUrl = "https://www.google.com/"; var options = new ChromeOptions(); options.AddArgument("--disable-infobars"); options.AddArgument("--incognito"); // 确保扩展文件路径正确,文件存在且是有效的.crx格式 options.AddExtension(@"C:\Users\kiespetch1\Downloads\Solver.crx"); new DriverManager().SetUpDriver(new ChromeConfig()); // 关键:将配置好的options传入ChromeDriver构造函数 var driver = new ChromeDriver(options); driver.Url = siteUrl; }
关键说明
- 必须将配置完成的
ChromeOptions实例作为参数传入ChromeDriver的构造函数,这是让自定义设置生效的核心步骤。 - 检查扩展文件路径:确保
Solver.crx文件存在,路径拼写正确,且该文件是有效的Chrome扩展包。 - 关于
--disable-infobars:新版Chrome中该参数可能已失效,若仍显示信息栏,可尝试替换为--disable-features=ChromeWhatsNewUI,TranslateUI等参数。 - 确保Chrome浏览器版本与ChromeDriver版本匹配(你使用的
DriverManager会自动处理版本匹配,无需手动下载,但需保证网络正常)。
内容的提问来源于stack exchange,提问作者kiespetch
相关产品推荐
相关产品推荐

