Google Chrome 从 Selenium 触发时无法导航到指定的 URL

Google Chrome unable to navigate to specified URL when triggered from Selenium

我有一个围绕 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)

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

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

我很想知道为什么会这样,以及可能导致 chrome 表现如此古怪的原因。

异常原因是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)

我在 C# 和 Visual Studio 中使用 Selenium。

这里的问题是,Selenium-WebDriver 无法在 chrome 中启动已安装的第 3 方扩展。 我今天也遇到了这个问题,所以我没有重新安装 google chrome,而是删除了我在 Chrome 上安装的所有扩展。我安装了几个 "Add Blocker" 扩展程序。

以防有人还在寻找答案。这是针对我的情况的匹配响应。 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)

就我而言,chrome 浏览器版本和 chrome 驱动程序版本不兼容。 Chrome 自动从 56 更新到 57,我的 chrome 驱动程序版本是 2.27。 抛出 'org.openqa.selenium.WebDriverException: unknown error: cannot get automation extension' 错误的 2 个问题(当最大化浏览器和截取屏幕截图时),在更新到 cromdriver 版本 2.28 后修复。

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

Incompatibility between chrome version and chromedriver version.

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

因此您需要定期升级 chromedriver 版本 并且还提供了版本说明,其中描述了 chrome 驱动程序和 [=21] 之间的兼容性=] 版本.

我发现这个问题是 chromedriver 版本导致的。我的情况 运行 当我更新 chromedriver 时正常。

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