在我们的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,我就开始遇到这个问题了。
答案 0 :(得分:5)
如果您以root用户身份运行脚本,则会抛出错误&#34; chrome无法访问&#34;。尝试以普通用户身份运行脚本,它可以正常工作。
答案 1 :(得分:1)
尝试在打开另一个实例之前添加它。
driver.close();
driver.quit();
答案 2 :(得分:0)
答案 3 :(得分:0)
我在项目中遇到了这个问题。我通过
解决了这个问题由于
答案 4 :(得分:0)
我遇到了同样的问题,不得不在ChromeOptions中添加实际Chrome浏览器二进制文件的路径,并将ChromeDriver包含在Windows PATH中。 (编辑:我没有运行远程驱动程序设置)