自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。
答案 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)
尝试使用
中的Webdrivermanagerio.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。
中找到最新的Chrome驱动程序