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

Java 从Selenium触发时,Google Chrome无法导航到指定的URL,java,google-chrome,selenium,automation,selenium-chromedriver,Java,Google Chrome,Selenium,Automation,Selenium Chromedriver,我有一个围绕SeleniumWebDriver开发的自动化框架,它启动Chrome并导航到指定的URL并执行指定的自动化。 当我委托框架执行一项长任务并让它在一夜之间运行时(运行不成功)。第二天,当我尝试重新运行一组新的测试时,Selenium能够启动Chrome,但浏览器无法导航到指定的URL。下面是详细的堆栈跟踪 Starting ChromeDriver (v2.7.236900) on port 60678 Exception in thread "main" org.openqa.se

我有一个围绕SeleniumWebDriver开发的自动化框架,它启动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)
这是我第二次面对同样的问题。 当我试图用谷歌搜索错误时,我能够找到特定的论坛。 我试图重新下载Chrome_驱动程序,但没有帮助。重新启动系统也无济于事。我仔细检查了代码和所有设置,但没有任何更改。 奇怪的是,我偶然发现了一个奇怪的解决办法

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


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

出现异常的原因是chrome未能加载selenium automation extension

当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一起使用。

这里的问题是,Selenium WebDriver无法在chrome中启动已安装的第三方扩展。
我今天也遇到了这个问题,所以我没有重新安装google chrome,而是删除了我在chrome上安装的所有扩展。我安装了几个“添加阻止程序”扩展。

以防有人仍在寻找答案。以下是对我的情况的相应回应。 这正是在我的例子中发生的,当调用maximize时,我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浏览器版本和chromedriver版本是不兼容的。Chrome从56自动更新到57,我的chromedriver版本是2.27。
“org.openqa.selenium.WebDriverException:未知错误:无法获取自动化扩展”错误(最大化浏览器和截图时)的两个问题在更新到cromdriver 2.28版后得到修复。

我也面临同样的问题,在我的情况下,主要问题是:

chrome版本和chromedriver版本之间不兼容

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


因此您需要定期升级版本,并且还提供了发行说明,其中描述了chromedriver和chrome版本之间的兼容性。

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

升级到Selenium 3.3.1后,我在Windows 10(64位)PC上安装了这个。下载Chromedriver 2.29并覆盖旧版本有效。请参阅-

可能是chrome版本和selenium JAR版本不匹配。@Help Hands我认为chrome在这段时间内没有更新。在卸载和重新安装之前,Chrome是相同的版本。我认为这不应该是问题所在。此外,如果这是问题所在,那么在重新安装之后,运行也应该失败。你怎么看?如果chrome版本是一样的,那么可能是另一个问题:)好的,但是OP应该如何修复它呢?即使我也不确定。我们可以使用
ChromeOptions
类加载外部扩展,但不确定如何加载自动化扩展。我正在寻找解决办法。@VaraPrasad您采取了哪些步骤来解决这个问题?您是否更改了代码?能否详细说明加载的扩展名?当您尝试使用selenium测试chrome扩展或尝试使用selenium测试网站时,是否会发生这种情况?@Razvi此问题尚未解决。我正在寻找解决办法。您可以在以下位置找到此问题的简要说明:点击v56和v57之间的相同问题,并更新chrome webdriver修复了此问题。但是,为了让更新生效,必须手动修改版本号,我认为您应该在回答中提供更多详细信息。