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

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

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

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

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

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

exception的原因是chrome无法加载selenium自动化扩展

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

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

 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中启动已安装的第三方扩展。 我今天也遇到了这个问题,因此我没有重新安装谷歌浏览器,而是删除了我在Chrome上安装的所有扩展程序。 我安装了几个“Add Blocker”扩展。

我遇到了同样的问题,在我的情况下,主要问题是:

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

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

所以你需要定期升级chromedriver版本 ,还有发行说明,它们描述了chromedriver和chrome版本之间的兼容性。

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

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

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