【问题标题】:Google Chrome unable to navigate to specified URL when triggered from Selenium从 Selenium 触发时,Google Chrome 无法导航到指定的 URL
【发布时间】:2015-06-12 22:38:56
【问题描述】:

我有一个围绕 Selenium-WebDriver 开发的自动化框架,它启动 Chrome 并导航到指定的 URL 并执行指定的自动化。 当我委托框架执行一项长期任务并让它通宵运行时(运行不成功)。第二天,当我尝试重新运行一组新测试时,Selenium 能够启动 Chrome,但浏览器无法导航到指定的 URL。以下是详细的堆栈跟踪。

Starting ChromeDriver (v2.7.236900) on port 60678
Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: cannot get automation extension from unknown error: page could not be found: chrome-extension://aapnijgdinlhnhlmodcfapnahmbfebeb/_generated_background_page.html
(Session info: chrome=41.0.2272.118)
(Driver info: chromedriver=2.7.236900,platform=Windows NT 6.3 x86_64)   (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 10.12 seconds
Build info: version: '2.24.1', revision: '17205', time: '2012-06-19 16:53:24'
System info: os.name: 'Windows 8.1', os.arch: 'x86', os.version: '6.3', java.version: '1.8.0_25'
Driver info: driver.version: RemoteWebDriver
Session ID: a2fafed66d51994e3ef57bada99fddbf
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:188)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:145)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:472)
at org.openqa.selenium.remote.RemoteWebDriver$RemoteWebDriverOptions$RemoteWindow.maximize(RemoteWebDriver.java:683)
at com.gravitant.utils.Util.launchBrowser(Util.java:1711)
at com.gravitant.test.RunTests.start(RunTests.java:147)
at com.gravitant.test.RunTests.main(RunTests.java:80)

这是我第二次面临同样的问题。 当我尝试用谷歌搜索错误时,我能够找到this 特定论坛。 我试图重新下载 Chrome_driver 但没有帮助。重新启动系统也没有帮助。我仔细检查了代码和所有设置,但没有任何改变。 奇怪的是,我偶然发现了一个奇怪的解决方案。

解决方案 - 重新安装 Chrome 浏览器解决了该问题。我能够完美地运行测试。

我很想知道为什么会这样,以及是什么导致 chrome 表现得如此奇怪。

【问题讨论】:

  • 可能是chrome版本和selenium JAR版本不匹配。
  • @Helping Hands 我认为 Chrome 在那段时间没有更新。 Chrome 在卸载和重新安装之前是相同的版本。我认为这不应该是问题。此外,如果这是问题所在,那么重新安装后运行也应该失败。你怎么看?
  • 如果 chrome 版本相同,则可能是其他问题..:)

标签: java google-chrome selenium automation selenium-chromedriver


【解决方案1】:

就我而言,chrome 浏览器版本和 chromedriver 版本不兼容。 Chrome 自动从 56 更新到 57,我的 chromedriver 版本是 2.27。 抛出“org.openqa.selenium.WebDriverException:未知错误:无法获取自动化扩展”错误(最大化浏览器和截屏时)的 2 个问题,在更新到 cromdriver 版本 2.28 后已修复。

【讨论】:

  • 在 v56 和 v57 之间遇到了同样的问题,更新 chrome webdriver 解决了这个问题。必须手动修改版本号才能使更新正常工作,步骤描述为stackoverflow.com/a/40315532/276681
【解决方案2】:

这里的问题是,Selenium-WebDriver 无法在 chrome 中启动已安装的 3rd Party Extensions。 我今天也遇到了这个问题,所以我没有重新安装谷歌浏览器,而是删除了我在 Chrome 上安装的所有扩展程序。我安装了几个“添加拦截器”扩展。

【讨论】:

    【解决方案3】:

    异常原因是 chrome 无法加载 selenium 自动化扩展

    当 selenium 打开 chrome 浏览器时,selenium 会在 chrome 浏览器中加载一个 chrome 扩展程序,以便从某个临时位置使用它。如果 chrome 浏览器无法加载该扩展程序,它将引发异常。

    当我的组织阻止在我的 chrome 浏览器中加载第三方扩展时,我遇到了同样的异常。

    Test method 
    Veolia.BrentGWP.UserStories.Features.BrentGWPFeature._3_EnterDetailsAndSelectAnAddress_John threw exception: 
    System.InvalidOperationException: unknown error: cannot get automation extension
    from unknown error: page could not be found: chrome-  extension://aapnijgdinlhnhlmodcfapnahmbfebeb/_generated_background_page.html
    (Session info: chrome=41.0.2272.118)
    (Driver info: chromedriver=2.9.248315,platform=Windows NT 6.1 SP1 x86_64)
    

    我将 Selenium 与 C# 和 Visual Studio 一起使用。

    【讨论】:

    • 好的,但是 OP 应该如何修复它?
    • 即使我也不确定。我们可以使用ChromeOptions 类加载外部扩展,但不确定如何加载自动化扩展。我正在寻找解决方案。
    • @VaraPrasad 你采取了哪些措施来解决这个问题?你改代码了吗?
    • 您能否详细说明加载的扩展程序?当您尝试使用 selenium 测试 chrome 扩展程序或尝试使用 selenium 测试网站时,是否会发生这种情况?
    • @Razvi 此问题尚未解决。我正在寻找解决方案。您可以在以下位置找到此问题的简要说明:stackoverflow.com/questions/29518159/…
    【解决方案4】:

    我遇到了同样的问题,就我而言,主要问题是:

    chrome版本和chromedriver版本不兼容。

    Chrome 浏览器是自我升级的,它会自动更新到最新版本(大多数情况下)。

    所以您需要定期升级chromedriver 版本,并且还有发布说明,其中描述了 chromedriver 和 chrome 版本之间的兼容性。

    【讨论】:

      【解决方案5】:

      升级到 Selenium 3.3.1 后,我在我的 Windows 10(64 位)PC 上安装了这个。下载 Chromedriver 2.29 并覆盖旧版本有效。见-https://chromedriver.storage.googleapis.com/index.html?path=2.29/

      【讨论】:

        【解决方案6】:

        如果有人仍在寻找答案。这是我的情况的匹配响应。 https://github.com/SeleniumHQ/selenium/issues/3508 这正是在我的情况下发生的情况,在调用最大化时,我得到了 60-70% 的时间

        org.openqa.selenium.remote.RemoteWebDriver$RemoteWebDriverOptions$RemoteWindow.maximize(RemoteWebDriver.java:945)
        at org.openqa.selenium.support.events.EventFiringWebDriver$EventFiringWindow.maximize(EventFiringWebDriver.java:644)
        at org.openqa.selenium.remote.server.handler.MaximizeWindow.call(MaximizeWindow.java:30)
        at org.openqa.selenium.remote.server.handler.MaximizeWindow.call(MaximizeWindow.java:1)
        

        【讨论】:

          【解决方案7】:

          我发现这个问题是 chromedriver 版本引起的。当我更新 chromedriver 时,我的案例运行正常。

          【讨论】:

          • 我认为您应该在回答中提供更多详细信息。
          猜你喜欢
          • 2019-02-28
          • 1970-01-01
          • 2018-09-23
          • 1970-01-01
          • 2021-02-02
          • 1970-01-01
          • 2014-12-19
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多