从Eclipse IDE调用Selenium脚本时“Chrome无法访问”

时间:2017-04-05 17:37:44

标签: google-chrome selenium selenium-webdriver

在我们的Selenium远程webdriver设置中,我们编写了Selenium Java测试脚本,以便在Chrome浏览器中运行。我们正在使用Chrome驱动程序2.28。 Selenium Standalone Server 2.53。 Selenium API 2.53。当我们在Eclipse IDE中运行我们的脚本时,5次中有3次,Chrome浏览器不会被调用,或者需要很长时间才能启动脚本。当它无法调用浏览器时,它会因此异常而失败....

> Caused by: org.openqa.selenium.WebDriverException: chrome not
> reachable   (Driver info: chromedriver=2.28.455520
> (cc17746adff54984afff480136733114c6b3704b),platform=Windows NT
> 6.1.7601 SP1 x86_64) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 62.50 seconds
> Build info: version: '2.53.0', revision: '35ae25b', time: '2016-03-15
> 17:00:58' System info: host: '<XXXXXXX>', ip: '<XXXXXXXXXX>',
> os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1',
> java.version: '1.8.0_121' Driver info:
> org.openqa.selenium.chrome.ChromeDriver
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
>         at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)
>         at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
>         at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678)
>         at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:249)
>         at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
>         at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:144)
>         at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:170)
>         at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:138)
>         ... 13 more 11:58:11.356 WARN - Exception: chrome not reachable
  

(司机资料:chromedriver = 2.28.455520   (cc17746adff54984afff480136733114c6b3704b),platform = Windows NT   6.1.7601 SP1 x86_64)(警告:服务器未提供任何堆栈跟踪信息)命令持续时间或超时:62.50秒   构建信息:版本:'2.53.0',修订版:'35ae25b',时间:'2016-03-15   17:00:58'系统信息:主持人:'',ip:'',   os.name:'Windows 7',os.arch:'amd64',os.version:'6.1',   java.version:'1.8.0_121'驱动程序信息:   org.openqa.selenium.chrome.ChromeDriver           at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)           at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)           at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)           at java.lang.reflect.Constructor.newInstance(Constructor.java:423)           在org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)           在org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)           在org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678)           在org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:249)           在org.openqa.selenium.remote.RemoteWebDriver。(RemoteWebDriver.java:131)           在org.openqa.selenium.remote.RemoteWebDriver。(RemoteWebDriver.java:144)           在org.openqa.selenium.chrome.ChromeDriver。(ChromeDriver.java:170)           在org.openqa.selenium.chrome.ChromeDriver。(ChromeDriver.java:138)           ... 13更多11:58:11.356警告 - 例外:铬无法访问

临时但痛苦的解决方案是转到Windows TaskManager并杀死大约六个,Chrome.exe一个接一个地处理。据观察,即使我们运行脚本或手动运行应用程序,调用的Chrome浏览器进程更像是6或7,而不是更少。

是Chrome浏览器还是Selenium问题。 ? 个人而言,我不会遇到这个问题,不像我的团队成员一年来遇到这个问题。一旦我将Chrome驱动程序从2.25升级到2.28,我就开始遇到这个问题了。

5 个答案:

答案 0 :(得分:5)

如果您以root用户身份运行脚本,则会抛出错误&#34; chrome无法访问&#34;。尝试以普通用户身份运行脚本,它可以正常工作。

答案 1 :(得分:1)

尝试在打开另一个实例之前添加它。

driver.close();
driver.quit();

答案 2 :(得分:0)

从这里http://www.seleniumhq.org/download/

升级你的selenium独立jar到最新的3.3.1

答案 3 :(得分:0)

我在项目中遇到了这个问题。我通过

解决了这个问题
  • 将Selenium Webdriver升级到最新版本3.3.1
  • 将Chrome驱动程序升级到2.28版本
  • 让您拥有最新版本的Chrome浏览器 系统。确保您的浏览器是最新的

您可以从Selenium Downloads

获取所有浏览器驱动程序

由于

答案 4 :(得分:0)

我遇到了同样的问题,不得不在ChromeOptions中添加实际Chrome浏览器二进制文件的路径,并将ChromeDriver包含在Windows PATH中。 (编辑:我没有运行远程驱动程序设置)