提问人:Emanuele Ciriachi 提问时间:2/13/2017 最后编辑:Emanuele Ciriachi 更新时间:5/2/2019 访问量:76898
ChromeDriver 错误“未知错误:无法获取自动化扩展”
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#和最新的Chromedriver。
答:
这可能是因为您运行测试的环境阻止了 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 版本,一切又恢复了。
评论
Window.Size
我也遇到了这个问题。我已将 C 文件夹中的现有 chrome 驱动程序替换为从 https://sites.google.com/a/chromium.org/chromedriver/downloads 下载的新 chrome 驱动程序,从而解决了该问题。
评论
我有同样的问题。刚刚下载了最新版本的 chromedriver,解决了问题。
https://sites.google.com/a/chromium.org/chromedriver/downloads
评论
突然出现此错误 -> 附加信息:未知错误:无法从未知错误获取自动化扩展:找不到页面:chrome-extension..
即使使用 ChromeDriver 2.29 也存在此问题,但解决它的
方法是删除此行。
driver.Manage().Window.Size = new Size(1024, 768);
一个快速的解决方案,但真的不是我一直在寻找的那个。 如果仍然使用大小调整机制,那就太好了。
与其手动下载 chrome 驱动程序,不如更新 in 的版本(或类似文件)并触发以自动下载最新版本。chromedriver
package.json
npm install
尝试使用 Webdrivermanager
io.github.bonigarcia 库
它将自动加载最新版本的 webdriver,因此您无需不时更新它。 例如,只需调用:
ChromeDriverManager.getInstance().setup();
在调用 webdriver 本身以获取最新版本的 ChromeDriver 之前。
对于最后一个无头版本,您无法调整窗口大小,因为不再有任何窗口。
就我自己而言,我在 behat 上遇到了这个问题,我曾经使用以前版本的 chrome of firefox 调整窗口大小,我包围了以下行:
$this->getSession()->resizeWindow(1600, 1200, 'current');
只需对驱动程序进行简单检查:
if (($this->getSession()->getDriver() instanceof Selenium2Driver)) {
$this->getSession()->resizeWindow(1600, 1200, 'current');
}
如上所述,它与chromedriver有关。 在 2.33 版的发行说明中,提到他们修复了与调整大小/定位相关的问题。
最新版本:ChromeDriver 2.33
支持 Chrome v60-62
更改包括:
- 修复了导致 Chrome 62+ 上的“调整大小/定位窗口”命令失败的错误。
评论
在这个问题之后不久,我在四月份开始遇到同样的错误。我能够通过安装新的测试版并像这样开始来绕过它: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
启动服务器时不要忘记指定驱动程序。
它支持更高版本的 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);
添加此评论后,我的问题得到了解决,非常感谢。
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 量角器 更新 WebDrvier - WebDriver-Manager 更新
评论