【问题标题】:unknown error: cannot get automation extension未知错误:无法获得自动化扩展
【发布时间】:2017-08-02 09:53:19
【问题描述】:

无法在 headless 模式下运行测试; sn-p 好像没有问题,因为我尝试了不同的方法,结果是一样的。

  caps = Selenium::WebDriver::Remote::Capabilities.chrome(chromeOptions: { binary: "/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome",
                                                                           args: [ "--headless" ]})
  @driver = Selenium::WebDriver.for :chrome, desired_capabilities: caps

错误

unknown error: cannot get automation extension
from unknown error: page could not be found: chrome-extension://aapnijgdinlhnhlmodcfapnahmbfebeb/_generated_background_page.html
    (Session info: headless chrome=59.0.3071.115)
    (Driver info: chromedriver=2.31.488774 (7e15618d1bf16df8bf0ecf2914ed1964a387ba0b),platform=Mac OS X 10.12.3 x86_64) (Selenium::WebDriver::Error::UnknownError)

Chrome 浏览器: 59.0.3071.115(最新)

Chrome 驱动程序: chromedriver=2.31.488774(最新)

使用的语言: Ruby

【问题讨论】:

  • 你在使用最大化功能吗?
  • 啊,那是恶棍……谢谢 Madhan;你能在这篇文章中回答同样的问题吗

标签: ruby google-chrome selenium selenium-webdriver headless


【解决方案1】:

这是 chromedriver 中的一个已知问题。如github中所述

这是 Chromedriver 长期存在的问题。调整窗口大小 不适用于 chromedriver,社区对此保持沉默 错误修复。如果调整大小对您的测试并不重要,我会 建议您完全避免使用 manage() 方法并使用解决方法 让您的浏览器窗口始终使用 ChromeOptions 最大化 启动 chromedriver 实例化时的对象。

虽然不是每个人都发生过,但问题仍然存在。它主要通过将 chrome 或 chromedriver 更新到最新版本来解决(对大多数人仍然不起作用)

所以最好不要在 chrome 上使用最大化或调整活动。但是,如果您愿意,可以使用 ChromeOptions 建议的 ChromeDriver

ChromeOptions options = new ChromeOptions();
options.addArguments("start-maximized");

【讨论】:

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