我正在C#中使用Selenium来针对Google Chrome进行自动化。我正在使用Chrome (78.0.3904.70)
,Selenium.Webdriver (3.141.0)
和Selenium.Chrome.Webdriver (77.0.0)
的最新版本。
我使用:ChromeDriver chrome = new ChromeDriver();
。 Chrome打开,但无法正确加载,如下图所示,并且我无法使用任何Selenium功能。使用Chromedriver我需要更改什么?
我下载了ChromeDriver v.78
,并用new ChromeDriver(v78 path)
引用了它,并且有相同的错误。
答案 0 :(得分:0)
此错误消息...
连同此错误消息...
...当ChromeDriver / Chrome无法加载默认扩展名时会观察到。
从历史上看, Chrome浏览器的 Automation Extension 问题早于 ChromeDriver v2.32 出现了几个版本,您可以找到详细的What has changed on Chromedriver 2.32 regarding loading of the automation extension?
中的讨论准确地说,要解决此错误,您可能必须:
disable-extensions
标志--no-sandbox
标志作为参数。启用沙箱时,特殊的测试环境有时会导致 Chrome 崩溃。有关详细信息,请观看this space,如下所示:
var option = new ChromeOptions();
option.AddArgument("disable-extensions");
option.AddArgument("--no-sandbox");
driver = new ChromeDriver(option);
此外,您需要确保(以适用者为准):
@Test
。driver.quit()
方法内调用tearDown(){}
,以优雅地关闭和销毁 WebDriver 和 Web Client 实例。