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

时间:2017-02-13 12:55:08

标签: selenium-webdriver chrome-web-driver

自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。

15 个答案:

答案 0 :(得分:41)

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

这是chromedriver版本57 +

所需要的

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

答案 1 :(得分:11)

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

即使使用 ChromeDriver 2.29
,也存在此问题 解决它的原因是删除了这条线。

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

快速修复,但实际上不是我一直在寻找的那个。 仍然可以使用尺寸调整机制。

答案 2 :(得分:6)

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

如下所示:

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

答案 3 :(得分:4)

如上所述,它与chromedriver有关。 在release notes of version 2.33中,提到他们修复了与调整大小/定位相关的问题。

  

最新发布:ChromeDriver 2.33

     

支持Chrome v60-62

     

更改包括:

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

答案 4 :(得分:3)

最好不要手动下载Chrome驱动程序,最好更新chromedriver(或类似文件)中package.json的版本,然后触发npm install以获取自动下载的最新版本。< / p>

答案 5 :(得分:1)

尝试使用

中的Webdrivermanager
  

io.github.bonigarcia图书馆

它会自动加载您最新版本的网络驱动程序,因此您不需要不时更新它。 请致电例如:

ChromeDriverManager.getInstance().setup();

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

答案 6 :(得分:1)

更新你的chrome驱动程序exe实际上并不能解决这个问题,如果你观察到,当你重新调整chrome的大小时就会发生这种情况 driver.Manage().Window.Maximize();

尝试对此行发表评论,然后重试。

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

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

答案 7 :(得分:0)

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

答案 8 :(得分:0)

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

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

答案 9 :(得分:0)

使用最后一个无头版本,你不能再调整窗口大小,因为没有任何窗口了。

对于我自己的情况,我遇到了这个问题,我曾经使用以前版本的firefox的chrome调整窗口大小,我将围绕以下行:

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

简单检查一下驱动程序:

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

答案 10 :(得分:0)

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

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

我查看了我的Chrome更新历史记录,并看到它从上周的v61更新到v62,因此必须打破它。我想我需要再次更新我的驱动程序。

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

webdriver-manager update --versions.chrome=2.33

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

答案 11 :(得分:0)

由于  为此 - 经过如此多的研发后,它帮助了我

不能-得到自动化扩展

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

答案 12 :(得分:0)

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

gef➤  run < input.txt

答案 13 :(得分:0)

更新量角器并运行将开始执行的测试用例,从量角器中添加了很少的新内容,这种方法对我有用。

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

答案 14 :(得分:-1)

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

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

中找到最新的Chrome驱动程序