【问题标题】:Chrome Automation Extension has crashedChrome 自动化扩展程序已崩溃
【发布时间】:2020-02-26 05:45:21
【问题描述】:

我在 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)引用了,还是一样的错误。

【问题讨论】:

  • 很遗憾,您的 webdriver 必须与主要版本号匹配,因此请使用 chromedriver v78:chromedriver.storage.googleapis.com/…
  • 我下载了ChromeDriver v.78,用new ChromeDriver(v78 path)引用了,还是一样的错误。
  • 对不起,我没有仔细阅读您的帖子。删除浏览器扩展。这不是必需的。

标签: c# selenium google-chrome webdriver selenium-chromedriver


【解决方案1】:

此错误消息...

连同此错误消息...

...当 ChromeDriver / Chrome 无法加载默认扩展时观察到。


从历史上看,Chrome 浏览器自动化扩展 问题在 ChromeDriver v2.32 之前出现了几个版本,您可以找到详细的讨论What has changed on Chromedriver 2.32 regarding loading of the automation extension?

确切地说,要解决此错误,您可能必须:

  • 通过其中一个/两个标志:
    • disable-extensions 标志
    • --no-sandbox 标记

在创建 WebDriver 会话时作为参数。启用 沙盒 时,特殊测试环境有时会导致 Chrome 崩溃。详情请关注this space如下:

var option = new ChromeOptions();
option.AddArgument("disable-extensions");
option.AddArgument("--no-sandbox");
driver = new ChromeDriver(option);

此外,您需要确保(以适用者为准):

  • JDK 升级到当前级别JDK 8u222
  • Selenium 升级到当前级别 Version 3.141.59
  • ChromeDriver 已更新到当前的ChromeDriver v78.0 级别。
  • Chrome 已更新至当前 Chrome 版本 78.0 级别。 (根据ChromeDriver v78.0 release notes
  • 清理你的项目工作区通过你的IDE重建你的项目只需要依赖。
  • 如果您的基本 Web 客户端 版本太旧,请卸载它并安装最新的 GA 和发布版本的 Web 客户端
  • 进行系统重启
  • 非root/非管理员用户身份执行@Test
  • 始终在 tearDown(){} 方法中调用 driver.quit() 以优雅地关闭和销毁 WebDriverWeb Client 实例。

【讨论】:

  • option.AddArgument("--no-sandbox"); 是我所需要的。感谢您的帮助!
猜你喜欢
  • 2016-03-13
  • 1970-01-01
  • 1970-01-01
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多