ChromeDriver error "unknown error: cannot get automation extension"

ChromeDriver error "unknown error: cannot get automation extension"

自 2 月 7 日以来,我所有的测试都因同样的错误而失败;日志条目显示:

RESPONSE MaximizeWindow unknown error: cannot get automation extension
from unknown error: page could not be found: chrome-extension://aapnijgdinlhnhlmodcfapnahmbfebeb/_generated_background_page.html
  (Session info: chrome=57.0.2987.21)

我不确定这是由 Chrome 更新还是其他原因引起的 - 消息本身就很模糊。

编辑:我正在使用 C# 和最新的 Chrome 驱动程序。

这可能是因为您所在的环境 运行 测试阻止了 chrome 浏览器中的所有第三方扩展。尝试禁用扩展程序。

如下所示:

ChromeOptions o = new ChromeOptions();
o.addArguments("disable-extensions");
o.addArguments("--start-maximized");
WebDriver driver = new ChromeDriver(o);

您需要 chromedriver.exe 的最新版本。 https://sites.google.com/a/chromium.org/chromedriver/downloads

这是 chromedriver 版本 57+ 所必需的

我遇到了同样的问题。一旦我更新了 chromedriver 版本,一切又都正常了。

我也遇到了这个问题。我已经用从 https://sites.google.com/a/chromium.org/chromedriver/downloads 下载的新 chrome 驱动程序替换了我 C 文件夹中现有的 chrome 驱动程序,这解决了问题。

我遇到了同样的问题。刚刚下载了最新版本的 chromedriver 并解决了问题。

https://sites.google.com/a/chromium.org/chromedriver/downloads

突然出现此错误 -> 附加信息:未知错误:无法从未知错误中获取自动化扩展:找不到页面:chrome-扩展..

即使使用 ChromeDriver 2.29
也存在此问题 解决它的方法是删除这一行。

driver.Manage().Window.Size = new Size(1024, 768);

一种快速修复方法,但确实不是我一直在寻找的方法。 仍然使用大小调整机制会很棒。

与其手动下载 chrome 驱动程序,不如更新 package.json(或类似文件)中 chromedriver 的版本并启动 npm install 以获得自动下载最新版本。

尝试使用

中的 Webdrivermanager

io.github.bonigarcia library

它会自动加载最新版本的网络驱动程序,因此您无需不时更新它。 只需调用例如:

ChromeDriverManager.getInstance().setup();

在调用 webdriver 本身获取最新版本的 ChromeDriver 之前。

使用最后一个无头版本,您无法调整 window 的大小,因为 window 已经不存在了。

对于我自己的情况,我在使用 behat 时遇到了这个问题,我曾经使用以前版本的 chrome 的 firefox 调整 window 的大小,我将以下行括起来:

$this->getSession()->resizeWindow(1600, 1200, 'current');

对驱动程序进行简单检查:

if (($this->getSession()->getDriver() instanceof Selenium2Driver)) {
    $this->getSession()->resizeWindow(1600, 1200, 'current');
}

如前所述,与chromedriver有关。 在 release notes of version 2.33 中提到他们解决了与 resizing/positioning.

相关的问题

Latest Release: ChromeDriver 2.33

Supports Chrome v60-62

Changes include:

  • Fixes a bug which caused Resizing/Positioning Window commands to fail on Chrome 62+.

在这个问题出现后不久,我在 4 月份开始遇到同样的错误。我能够通过安装新的测试版并像这样开始来绕过它: webdriver-manager start --versions.standalone 3.0.0-beta4 --versions.chrome=2.28

直到几天前,它都运行良好。我尝试从我的 Protractor conf 文件中删除有问题的 setSize() 并且它再次工作。但是每当我的测试开始时,它还会生成另一个导航到 chrome://settings/help 的 Chrome window。诡异的。

我检查了我的 Chrome 更新历史,发现它上周从 v61 更新到 v62,所以一定是它坏了。我想我需要再次更新我的驱动程序。

更新:对于那些想快速了解如何更新驱动程序的用户:

webdriver-manager update --versions.chrome=2.33

不要忘记在启动服务器时指定驱动程序。

支持更高版本的chrome驱动2.29。

请。在 http://www.seleniumhq.org/download/

中找到最新的 chrome 驱动程序

谢谢 为此——经过这么多的研发,它帮助了我

无法获取自动化扩展

ChromeOptions o = new ChromeOptions();
o.addArguments("disable-extensions");
o.addArguments("--start-maximized");
WebDriver driver = new ChromeDriver(o);

我的问题已解决post添加此评论,非常感谢。

ChromeOptions o = new ChromeOptions();
o.addArguments("disable-extensions");
o.addArguments("--start-maximized");
o.addArguments("--start-maximized");

WebDriver driver = new ChromeDriver(o);

更新您的 chrome 驱动程序 exe 并不能真正解决这个问题,如果您观察到,它会在您重新调整大小时发生 chrome driver.Manage().Window.Maximize();

尝试评论这一行,然后重试。

这是一个快速修复,一旦我找到了这个问题的根本原因,我就会更新我的答案(但是这似乎是因为浏览器更新,因为我的代码没有任何变化)。

更新: 对我来说,这似乎是因为浏览器更新,因为一旦我再次更新,这个问题就消失了。

更新你的量角器和运行你的测试用例它将开始执行,从量角器添加的新东西很少,这个方法对我有用。

更新量角器 - npm install -g protractor 更新 webdrvier - webdriver-manager 更新