【问题标题】:ChromeDriver error "unknown error: cannot get automation extension"ChromeDriver 错误“未知错误:无法获取自动化扩展”
【发布时间】:2017-02-13 12:55:08
【问题描述】:

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

【问题讨论】:

  • 什么编程语言?我觉得this 会很有趣。
  • 我会试一试,虽然它在 2 月 7 日之前工作,所以它更像是一种解决方法。

标签: selenium-webdriver chrome-web-driver


【解决方案1】:

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

chromedriver 57+版本需要这个

我遇到了同样的问题。一旦我更新了 chromedriver 版本,一切都会再次运行。

【讨论】:

  • 最新的 chromedriver(2.28 和 2.29)和 Chrome 版本 58 没有为我解决这个问题。 Window.Size 上的错误完全相同。
【解决方案2】:

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

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

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

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

【讨论】:

    【解决方案3】:

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

    如下所示:

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

    【讨论】:

    • 更新驱动程序没有帮助,但是这个有帮助!谢谢!
    • 对不起,我是 selenium/webdriver 的新手,这些行应该放在哪里?
    • @Omar 这是关于驱动程序实例化的。
    • 我们必须在哪个文件中添加这个。
    • @JeevaJsb 在您调用驱动程序的文件(测试用例)中
    【解决方案4】:

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

    最新版本:ChromeDriver 2.33

    支持 Chrome v60-62

    变化包括:

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

    【讨论】:

    • 这个完全解决了我在 62 chrome 上的问题
    【解决方案5】:

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

    【讨论】:

      【解决方案6】:

      尝试使用来自

      的Webdrivermanager

      io.github.bonigarcia 库

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

      ChromeDriverManager.getInstance().setup();
      

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

      【讨论】:

        【解决方案7】:

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

        尝试评论此行并重试。

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

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

        【讨论】:

          【解决方案8】:

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

          【讨论】:

          • 这个版本是什么时候发布的?
          【解决方案9】:

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

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

          【讨论】:

          • 请不要使用仅链接的答案。
          【解决方案10】:

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

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

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

          通过对驱动程序的简单检查:

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

          【讨论】:

            【解决方案11】:

            在这个问题之后不久,我在四月份开始遇到同样的错误。我可以通过安装一个新的 beta 版本并像这样开始来解决它: 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
            

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

            【讨论】:

              【解决方案12】:

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

              无法获得自动化扩展

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

              【讨论】:

                【解决方案13】:

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

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

                【讨论】:

                  【解决方案14】:

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

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

                  【讨论】:

                    【解决方案15】:

                    支持更高版本的chrome driver 2.29。

                    请。在http://www.seleniumhq.org/download/中找到最新的 chrome 驱动程序

                    【讨论】:

                      猜你喜欢
                      • 1970-01-01
                      • 2019-10-22
                      • 1970-01-01
                      • 1970-01-01
                      • 2018-04-29
                      • 1970-01-01
                      • 1970-01-01
                      • 2017-08-05
                      • 2023-03-15
                      相关资源
                      最近更新 更多