ChromeDriver 错误“未知错误:无法获取自动化扩展”

ChromeDriver error "unknown error: cannot get automation extension"

提问人:Emanuele Ciriachi 提问时间:2/13/2017 最后编辑:Emanuele Ciriachi 更新时间:5/2/2019 访问量:76898

问:

自 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#和最新的Chromedriver。

selenium-webdriver chrome-web-驱动程序

评论

0赞 Grzegorz Górkiewicz 2/13/2017
什么编程语言?我认为这很有趣
0赞 Emanuele Ciriachi 2/13/2017
我会试一试,尽管它在 2 月 7 日之前工作,所以它更像是一种解决方法。

答:

6赞 Manoj Kengudelu 2/14/2017 #1

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

如下所示:

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

评论

0赞 komsky 4/10/2017
更新驱动程序没有帮助,但这个有帮助!谢谢!
0赞 Omar Bahir 7/13/2017
对不起,我是selenium / webdriver的新手,把这些行放在哪里?
0赞 Manoj Kengudelu 7/15/2017
@Omar这是关于驱动程序实例化的。
0赞 Jeeva J 8/7/2018
我们必须在哪个文件中添加它。
0赞 Manoj Kengudelu 8/8/2018
@JeevaJsb 在调用驱动程序的文件(测试用例)中
45赞 Jack 3/17/2017 #2

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

这是 chromedriver 版本 57+ 所必需的

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

评论

6赞 jibbs 5/20/2017
最新的 chromedriver(2.28 和 2.29)和 Chrome 版本 58 没有为我解决这个问题。上的错误完全相同。Window.Size
0赞 Manikandan V 3/17/2017 #3

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

评论

0赞 Emanuele Ciriachi 3/17/2017
这个版本是什么时候发布的?
0赞 Nazmul Islam 3/17/2017 #4

我有同样的问题。刚刚下载了最新版本的 chromedriver,解决了问题。

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

评论

0赞 ajtrichards 3/17/2017
请不要仅使用链接答案。
11赞 Kent Aguilar 4/18/2017 #5

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

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

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

一个快速的解决方案,但真的不是我一直在寻找的那个。 如果仍然使用大小调整机制,那就太好了。

3赞 Siva 5/3/2017 #6

与其手动下载 chrome 驱动程序,不如更新 in 的版本(或类似文件)并触发以自动下载最新版本。chromedriverpackage.jsonnpm install

1赞 Andrii Yaremchuk 5/19/2017 #7

尝试使用 Webdrivermanager

io.github.bonigarcia 库

它将自动加载最新版本的 webdriver,因此您无需不时更新它。 例如,只需调用:

ChromeDriverManager.getInstance().setup();

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

0赞 lenybernard 7/20/2017 #8

对于最后一个无头版本,您无法调整窗口大小,因为不再有任何窗口。

就我自己而言,我在 behat 上遇到了这个问题,我曾经使用以前版本的 chrome of firefox 调整窗口大小,我包围了以下行:

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

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

if (($this->getSession()->getDriver() instanceof Selenium2Driver)) {
    $this->getSession()->resizeWindow(1600, 1200, 'current');
}
4赞 Mark Duivesteijn 11/10/2017 #9

如上所述,它与chromedriver有关。 在 2.33 版的发行说明中,提到他们修复了与调整大小/定位相关的问题。

最新版本:ChromeDriver 2.33

支持 Chrome v60-62

更改包括:

  • 修复了导致 Chrome 62+ 上的“调整大小/定位窗口”命令失败的错误。

评论

0赞 Konstantin Chernov 11/16/2017
这个正好解决了我在 62 Chrome 上的问题
0赞 Eric Soyke 11/21/2017 #10

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

直到几天前,这还很正常。我尝试从我的量角器 conf 文件中删除有问题的 setSize(),它再次起作用。但是每当我的测试开始时,它也会生成另一个导航到 的 Chrome 窗口。奇怪。chrome://settings/help

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

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

webdriver-manager update --versions.chrome=2.33

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

-1赞 m3ramesh 11/21/2017 #11

它支持更高版本的 Chrome 驱动程序 2.29。

请在 http://www.seleniumhq.org/download/ 中查找最新的 Chrome 驱动程序

0赞 Yogesh 12/11/2017 #12

谢谢 为此,经过如此多的研发,它帮助了我

无法获取自动化扩展

ChromeOptions o = new ChromeOptions();
o.addArguments("disable-extensions");
o.addArguments("--start-maximized");
WebDriver driver = new ChromeDriver(o);
0赞 Subramani S 12/13/2017 #13

添加此评论后,我的问题得到了解决,非常感谢。

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

WebDriver driver = new ChromeDriver(o);
1赞 Abhinav Saxena 2/4/2018 #14

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

尝试注释此行,然后重试。

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

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

0赞 Suhail Ahmed 5/2/2019 #15

更新您的量角器并运行它将开始执行的测试用例,量角器中添加了一些新东西,这种方法对我有用。

更新量角器 - npm install -g 量角器 更新 WebDrvier - WebDriver-Manager 更新