Selenium Webdriver& Chrome驱动程序 - 无法运行Chrome驱动程序 [英] Selenium Webdriver & Chrome driver - not able to run chrome driver

查看:1520
本文介绍了Selenium Webdriver& Chrome驱动程序 - 无法运行Chrome驱动程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图运行一个使用selenium webdriver启动chrome驱动程序的ruby文件。我有硒独立服务器2.35.0。和安装了chromedriver可执行文件。我通过运行启动服务器,

  java -jar ./selenium-server-standalone-2.35.0.jar  - Dwebdriver.chrome.bin = / usr / bin / google-chrome -Dwebdriver.chrome.driver = / home /./ chromedriver& 

两个会话正在启动,chrome驱动程序无法启动。

  05:07:34.328信息 - 执行:[new session:{platform = ANY,javascriptEnabled = tr 
ue ,cssSelectorsEnabled = true,browserName = chrome,nativeEvents = false,rotate =
false,takesScreenshot = false,version =,chrome.switches = [ - 忽略证书-er
rors]}] :/ session)
05:07:34.329 INFO - 为Capabilities创建一个新会话[{platform = ANY,cssS
electorsEnabled = true,javascriptEnabled = true,browserName = chrome,nativeEvents = f
alse,rotate = false,takesScreenshot = false,chrome.switches = [ - ignore-certific
a-errors],version =}]
在端口9143 $ b上启动ChromeDriver(v2.2) $ b 05:07:54.887 WARN - 引发的异常
java.util.concurrent.ExecutionException:org.openqa.selenium.WebDriverException:
java.lang.reflect.InvocationTargetException
构建信息:版本:'2.35.0',修订:'c916b9d',时间:'2013-08-12 15:42:01'
系统信息:os.name:'Linux',os.arch:'amd64', os.version:'3。 2.0-38-virtual',
java.version:'1.7.0_25'
驱动程序信息:driver.version:unknown $ b $ java.util.concurrent.FutureTask $ Sync.innerGet(FutureTask .java:252)
at java.util.concurrent.FutureTask.get(FutureTask.java:111)
at org.openqa.selenium.remote.server.DefaultSession.execute(DefaultSessi
在org.openqa.selenium.remote.server.DefaultSession上的
。< init>(DefaultSessio
n.java:112)
at org.openqa.selenium。 remote.server.DefaultSession.createSession(Defaul
tSession.java:89)
at org.openqa.selenium.remote.server.DefaultDriverSessions.newSession(De
faultDriverSessions.java:89)
在org.openqa.selenium.remote.server.handler.NewSession.handle(NewSessio
n.java:63)
在org.openqa.selenium.remote.server.rest.ResultConfig。处理(ResultConf
ig.java:205)
在org.openqa.selenium.remote.server.JsonHttpRemoteConfig.handleRequest(
JsonHttpR emoteConfig.java:192)
at org.openqa.selenium.remote.server.DriverServlet.handleRequest(DriverS
ervlet.java:201)
at org.openqa.selenium.remote.server .DriverServlet.doPost(DriverServlet。
java:167)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.openqa.selenium.remote.server.DriverServlet.service(DriverServlet
.java:139)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.openqa.jetty.jetty.servlet.ServletHolder.handle(ServletHolder。 jav
a:428)
at org.openqa.jetty.jetty.servlet.ServletHandler.dispatch(ServletHandler
.java:677)
at org.openqa.jetty.jetty。 servlet.ServletHandler.handle(ServletHandler.j
ava:568)
at org.openqa.jetty.http.HttpContext.handle(HttpContext.java:1526)
at org.openqa.jetty .http.HttpContext.handle(HttpContext.java:1479)
在org.openqa.jetty.http.HttpServer.service(HttpServer.java:914)
在org.openqa.jetty.http.HttpConnection .service(HttpConnection.java:820)

at org.openqa.jetty.http.HttpConnection.handleNext(HttpConnection.java:9
86)
在org.openqa.jetty.http.HttpConnection.handle(HttpConnection.java:837)
在org.openqa.jetty.http.SocketListener.handleConnection(SocketListener。
java:243)
at org.openqa.jetty.util.ThreadedServer.handle(ThreadedServer.java:357)
at org.openqa.jetty.util.ThreadPool $ PoolThread.run( ThreadPool.java:534)
导致:org.openqa.selenium.WebDriverException:java.lang.reflect.InvocationT
argetException
Build info:version:'2.35.0',revision: 'c916b9d',时间:'2013-08-12 15:42:01'
系统信息:os.name:'Linux',os.arch:'amd64',os.version:'3.2.0- 38-virtual',
java.version:'1.7.0_25'
驱动程序信息:driver.version:未知$ b $ org.openqa.selenium.remote.server.DefaultDriverFactory.callConstructo
r(DefaultDriverFactory.java:72)
位于org.openqa.selenium.remote.server.DefaultDriverFactory.newInstance(De
faultDriverFactory.java:56)
位于org.openqa.selenium。 remote.server.DefaultSession $ BrowserCreator.call(
DefaultSession.java:215)
at org.openqa.selenium.remote.server.DefaultSession $ BrowserCreator .call(
DefaultSession.java:1)
at java.util.concurrent.FutureTask $ Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run (FutureTask.java:166)
在org.openqa.selenium.remote.server.DefaultSession $ 1.run(DefaultSession $ b $ .java:169)
在java.util.concurrent.ThreadPoolExecutor。 runWorker(的ThreadPoolExecutor。
java:1145)
at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor $ b $ .java:615)
at java.lang.Thread.run(Thread。 java:724)
导致:java.lang.reflect.InvocationTargetException $ b $在sun.reflect.NativeConstructorAccessorImpl.newInstance0(本地方法)

在sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstruct
orAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC
onstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance (Constructor.java:526)
at org.openqa.selenium.remote.server.DefaultDriverFactory.callConstructo
r(DefaultDriverFactory.java:62)
... 9 more
引起通过:org.openqa.selenium.WebDriverException:未知错误:Chrome失败
开始:异常退出
(驱动程序信息:chromedriver = 2.2,platform = Linux 3.2.0-38-virtual x86_64)(WARNIN
G:服务器没有提供任何堆栈跟踪信息)
命令持续时间或超时时间:20.56秒
构建信息:版本:'2.35.0',修订版本:'c916b9d',时间:'2013-08-12 15 :42:01'
系统信息:os.name:'Linux',os.arch:'amd64',os.version:'3.2.0-38-virtual',
java.version: '1.7.0_25'
驱动程序信息:org.openqa.selenium.chrome.ChromeDriver
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
$ b $ sun.reflect。 NativeConstructorAccessorImpl.newInstance(NativeConstruct
orAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC
onstructorAccessorImpl.java:45)
at java.lang.reflect。 Constructor.newInstance(Constructor.java:526)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler。
java:191)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHa
ndler.java:145)
at org.openqa.selenium.remote.RemoteWebDriver .execute(RemoteWebDriver.ja
va:554)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriv
er.java:216)
at org.openqa .selenium.remote.RemoteWebDriver。< init>(RemoteWebDriver.jav
a:111)
at org.openqa.selenium.remote.RemoteWebDriver。< init>(RemoteWebDriver.jav
a: 115)
at org.openqa.selenium.chrome.ChromeDriver。< init>(ChromeDriver.java:150)

at org.openqa.selenium.chrome.ChromeDriver。< init> ;(ChromeDriver.java:129)

... 14更多
05:07:54.889 WARN - 例外:未知错误:Chrome未能启动:已退出abn
正式
(驱动程序信息:chromedriver = 2.2,platform = Linux 3.2.0-38-virtual x86_64)(WARNIN
G:服务器未提供任何堆栈跟踪信息)
命令持续时间或超时时间:20.56秒
构建信息:版本:'2.35.0',修订:'c916b9d',时间:'2013-08-12 15:42:01'
系统信息:os.name:'Linux',os.arch:'amd64',os.version:'3.2.0-38-virtual',
java.version:'1.7.0_25'
驱动程序信息:org.openqa.selenium.chrome.ChromeDriver

后挂钩
发生错误NoMethodError:undefined方法`quit'for nil:NilClass
发生在/家用/部署/部署/ III 2 /规格/ monitoring_script / NineMonitoring。
rb:24:在< top(必填)>块中(2层)'

F

失败:

1)MonitoringScript test_script
失败/错误:@driver = Selenium :: WebDriver.for(:remote,:url =>'http://
localhost:4444 / wd / hub', :desired_capabilities => @caps)
Selenium :: WebDriver :: Error :: UnknownError:
未知错误:Chrome无法启动:异常退出
(驱动程序信息:chromedriver = 2.2,平台= Linux 3.2.0-38-virtual x86_64)
(警告:服务器没有提供任何堆栈跟踪信息)
命令持续时间或超时时间:20.56秒
构建信息:版本:'2.35。 0',修订:'c916b9d',时间:'2013-08-12 15:
42:01'
系统信息:os.name:'Linux',os.arch:'amd64', os.version:'3.2.0-38-vi
rtual',java.version:'1.7.0_25'
驱动程序信息:org.openqa.selenium.chrome.ChromeDriver(org.openqa.selenium
.WebDriverException)
#[remote server] sun.reflect.NativeConstructorAccessorImpl(NativeConstruct
orAccessorImpl.java): - 2:in`newInstance0'
#[远程服务器] sun.reflect.NativeConstructorAccessorImpl(NativeConstruct
orAccessorImpl。在远程服务器上运行java程序,在java程序中使用java实现的Java程序代码。 .lang.reflect.Constructor(Constructor.java):526:in`n
ewInstance'
#[远程服务器] org.openqa.selenium.remote.ErrorHandler(ErrorHandler.java
) :191:在`createThrowable'
#[远程服务器] org.openqa.selenium.remote.ErrorHandler(ErrorHandler.java
):145:`throwIfResponseFailed'
#[远程服务器] org.openqa.selenium.remote.RemoteWebDriver(RemoteWebDrive
r.java):554:in`execute'
#[远程服务器] org.openqa.selenium.remote.RemoteWebDriver(RemoteWebDrive
r.java):216:在`startSession'
#[远程服务器] org.openqa.selenium.remote.RemoteWebDriver(RemoteWebDrive
r.java):111:在< init>中
#[远程服务器] org.openqa.selenium.remote .RemoteWebDriver(RemoteWebDrive
r.java):115:在< init>'
#[远程服务器] org.openqa.selenium.chrome.ChromeDriver(ChromeDriver.java
): 150:在`< init>'
#[远程服务器] org.openqa.selenium.chrome.ChromeDriver(ChromeDriver.java
):129:在< init>'
#[remote server] sun.reflect.NativeConstructorAccessorImpl(NativeConstruct
orAccessorImpl.java): - 2:in`newInstance0'
#[远程服务器] sun.reflect.NativeConstructorAccessorImpl(NativeConstruct
orAccessorImpl。在远程服务器上运行java程序,在java程序中使用java实现的Java程序代码。 .lang.reflect.Constructor(Constructor.java):526:在`n
ewInstance'
#[远程服务器] org.openqa.selenium.remote.server.DefaultDriverFactory(De
faultDriverFactory.java):62:在`callConstructor'
#[远程服务器] org.openqa.selenium.remote。 server.DefaultDriverFactory(De
faultDriverFactory.java):56:in`newInstance'
#[远程服务器] org.openqa.selenium.remote.server.DefaultSession $ BrowserC $ b $ reator(DefaultSession。 java):215:在`call'
#[远程服务器] org.openqa.selenium.remote.server.DefaultSession $ BrowserC $ b $ reator(DefaultSession.java):1:'call'
#[remote server] java.util.concurrent.FutureTask $ Sync(FutureTask.java):334
:in`innerRun'
#[远程服务器] java.util.concurrent.FutureTask(FutureTask .java):166:在`
运行'
#[远程服务器] org.openqa.selenium.remote.server.DefaultSession $ 1(Defaul
tSession.java):169:运行'
#[远程服务器] java.util.concurrent.ThreadPoolExecutor(ThreadPoolExecuto
r.java):1145:在`runWorker'
#[r emote服务器] java.util.concurrent.ThreadPoolExecutor $ Worker(ThreadPool
Executor.java):615:在`run'
#[远程服务器] java.lang.Thread(Thread.java):724 :在'run'中运行
#./NineMonitoring.rb:11:in在< top(required)>'块(2级)'

完成20.75秒
1个例子,1个失败

失败的例子:

rspec ./filename.rb:28#filename test_script

这是在我使用

  bundle exec rspec filename.rb 

我对此很陌生,无法找出问题所在。而且我正试图无头跑步,所以我有Xvfb运行。有人可以帮助指出我犯的错误,并得到chromedriver开始?



更新:



之后建议,我已经更新了ChromeDriver,并得到以下错误:

  10:19:44.378信息 - 执行:[new session :{platform = ANY,javascriptEnabled = tr 
ue,cssSelectorsEnabled = true,browserName = chrome,nativeEvents = false,rotate =
false,takesScreenshot = false,version =,chrome.switches = [ - ignore - 为会话创建一个新的会话[{platform = ANY,cssS
electorsEnabled = true, javascriptEnabled = true,browserName = chrome,nativeEvents = f
alse,rotate = false,takesScreenshot = false,chrome.switches = [ - ignore-certific
ate-errors],version =}]
在端口21908
上启动ChromeDriver(v2.9.248304)[0.723] [警告]:PAC支持被禁用,因为没有系统执行

在after hook
NoMethodError:未定义的方法`quit'为nil:NilClass
发生在/ home / deploy / deployment / ih2 / spec / monitoring_script / NineMonitoring。
rb:24:在< top(必填)>中的块(2级)中'

运行文件时:

失败:

1)MonitoringScript test_script
失败/错误:@driver = Selenium :: WebDriver.for(:remote,:url =>'http://
localhost:4444 / wd / hub',:desired_capabilities => @caps)
超时::错误:
超时::错误
#./testfile.rb:11:in`block(2 levels)in < top(required)>'

1分钟内完成0.19031秒
1例,1次失败

任何人都可以帮助我弄清楚发生了什么问题吗?

解决方案

使用Java 1.6做到了这一点。



在尝试Selenium-server-standalone-2.37.0.jar后, Google Chrome 33.0.1750.117; chromedriver_linux64_2.2; Java版本1.7,发现Java版本没有与其他人一起去。因此解决了我的问题。

I'm trying to run a ruby file which will start chrome driver using selenium webdriver. I have selenium standalone server 2.35.0. and chromedriver executable installed. I'm starting the server by running,

java -jar ./selenium-server-standalone-2.35.0.jar -Dwebdriver.chrome.bin=/usr/bin/google-chrome -Dwebdriver.chrome.driver=/home/./chromedriver &

Two sessions are starting and the chrome driver fails to start.

05:07:34.328 INFO - Executing: [new session: {platform=ANY, javascriptEnabled=tr
ue, cssSelectorsEnabled=true, browserName=chrome, nativeEvents=false, rotatable=
false, takesScreenshot=false, version=, chrome.switches=[--ignore-certificate-er
rors]}] at URL: /session)
05:07:34.329 INFO - Creating a new session for Capabilities [{platform=ANY, cssS
electorsEnabled=true, javascriptEnabled=true, browserName=chrome, nativeEvents=f
alse, rotatable=false, takesScreenshot=false, chrome.switches=[--ignore-certific
ate-errors], version=}]
Starting ChromeDriver (v2.2) on port 9143
05:07:54.887 WARN - Exception thrown
java.util.concurrent.ExecutionException: org.openqa.selenium.WebDriverException:
 java.lang.reflect.InvocationTargetException
Build info: version: '2.35.0', revision: 'c916b9d', time: '2013-08-12 15:42:01'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '3.2.0-38-virtual',
 java.version: '1.7.0_25'
Driver info: driver.version: unknown
        at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252)
        at java.util.concurrent.FutureTask.get(FutureTask.java:111)
        at org.openqa.selenium.remote.server.DefaultSession.execute(DefaultSessi
on.java:176)
        at org.openqa.selenium.remote.server.DefaultSession.<init>(DefaultSessio
n.java:112)
        at org.openqa.selenium.remote.server.DefaultSession.createSession(Defaul
tSession.java:89)
        at org.openqa.selenium.remote.server.DefaultDriverSessions.newSession(De
faultDriverSessions.java:89)
        at org.openqa.selenium.remote.server.handler.NewSession.handle(NewSessio
n.java:63)
        at org.openqa.selenium.remote.server.rest.ResultConfig.handle(ResultConf
ig.java:205)
        at org.openqa.selenium.remote.server.JsonHttpRemoteConfig.handleRequest(
JsonHttpRemoteConfig.java:192)
        at org.openqa.selenium.remote.server.DriverServlet.handleRequest(DriverS
ervlet.java:201)
        at org.openqa.selenium.remote.server.DriverServlet.doPost(DriverServlet.
java:167)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at org.openqa.selenium.remote.server.DriverServlet.service(DriverServlet
.java:139)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at org.openqa.jetty.jetty.servlet.ServletHolder.handle(ServletHolder.jav
a:428)
        at org.openqa.jetty.jetty.servlet.ServletHandler.dispatch(ServletHandler
.java:677)
        at org.openqa.jetty.jetty.servlet.ServletHandler.handle(ServletHandler.j
ava:568)
        at org.openqa.jetty.http.HttpContext.handle(HttpContext.java:1526)
        at org.openqa.jetty.http.HttpContext.handle(HttpContext.java:1479)
        at org.openqa.jetty.http.HttpServer.service(HttpServer.java:914)
        at org.openqa.jetty.http.HttpConnection.service(HttpConnection.java:820)

        at org.openqa.jetty.http.HttpConnection.handleNext(HttpConnection.java:9
86)
        at org.openqa.jetty.http.HttpConnection.handle(HttpConnection.java:837)
        at org.openqa.jetty.http.SocketListener.handleConnection(SocketListener.
java:243)
        at org.openqa.jetty.util.ThreadedServer.handle(ThreadedServer.java:357)
        at org.openqa.jetty.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
Caused by: org.openqa.selenium.WebDriverException: java.lang.reflect.InvocationT
argetException
Build info: version: '2.35.0', revision: 'c916b9d', time: '2013-08-12 15:42:01'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '3.2.0-38-virtual',
 java.version: '1.7.0_25'
Driver info: driver.version: unknown
        at org.openqa.selenium.remote.server.DefaultDriverFactory.callConstructo
r(DefaultDriverFactory.java:72)
        at org.openqa.selenium.remote.server.DefaultDriverFactory.newInstance(De
faultDriverFactory.java:56)
        at org.openqa.selenium.remote.server.DefaultSession$BrowserCreator.call(
DefaultSession.java:215)
        at org.openqa.selenium.remote.server.DefaultSession$BrowserCreator.call(
DefaultSession.java:1)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at org.openqa.selenium.remote.server.DefaultSession$1.run(DefaultSession
.java:169)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:615)
        at java.lang.Thread.run(Thread.java:724)
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct
orAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC
onstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
        at org.openqa.selenium.remote.server.DefaultDriverFactory.callConstructo
r(DefaultDriverFactory.java:62)
        ... 9 more
Caused by: org.openqa.selenium.WebDriverException: unknown error: Chrome failed
to start: exited abnormally
  (Driver info: chromedriver=2.2,platform=Linux 3.2.0-38-virtual x86_64) (WARNIN
G: The server did not provide any stacktrace information)
Command duration or timeout: 20.56 seconds
Build info: version: '2.35.0', revision: 'c916b9d', time: '2013-08-12 15:42:01'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '3.2.0-38-virtual',
 java.version: '1.7.0_25'
Driver info: org.openqa.selenium.chrome.ChromeDriver
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct
orAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC
onstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
        at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.
java:191)
        at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHa
ndler.java:145)
        at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.ja
va:554)
        at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriv
er.java:216)
        at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.jav
a:111)
        at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.jav
a:115)
        at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:150)

        at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:129)

        ... 14 more
05:07:54.889 WARN - Exception: unknown error: Chrome failed to start: exited abn
ormally
  (Driver info: chromedriver=2.2,platform=Linux 3.2.0-38-virtual x86_64) (WARNIN
G: The server did not provide any stacktrace information)
Command duration or timeout: 20.56 seconds
Build info: version: '2.35.0', revision: 'c916b9d', time: '2013-08-12 15:42:01'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '3.2.0-38-virtual',
 java.version: '1.7.0_25'
Driver info: org.openqa.selenium.chrome.ChromeDriver

An error occurred in an after hook
  NoMethodError: undefined method `quit' for nil:NilClass
  occurred at /home/deploy/deployment/ih2/spec/monitoring_script/NineMonitoring.
rb:24:in `block (2 levels) in <top (required)>'

F

Failures:

  1) MonitoringScript test_script
     Failure/Error: @driver = Selenium::WebDriver.for( :remote, :url => 'http://
localhost:4444/wd/hub', :desired_capabilities => @caps )
     Selenium::WebDriver::Error::UnknownError:
       unknown error: Chrome failed to start: exited abnormally
         (Driver info: chromedriver=2.2,platform=Linux 3.2.0-38-virtual x86_64)
(WARNING: The server did not provide any stacktrace information)
       Command duration or timeout: 20.56 seconds
       Build info: version: '2.35.0', revision: 'c916b9d', time: '2013-08-12 15:
42:01'
       System info: os.name: 'Linux', os.arch: 'amd64', os.version: '3.2.0-38-vi
rtual', java.version: '1.7.0_25'
       Driver info: org.openqa.selenium.chrome.ChromeDriver (org.openqa.selenium
.WebDriverException)
     # [remote server] sun.reflect.NativeConstructorAccessorImpl(NativeConstruct
orAccessorImpl.java):-2:in `newInstance0'
     # [remote server] sun.reflect.NativeConstructorAccessorImpl(NativeConstruct
orAccessorImpl.java):57:in `newInstance'
     # [remote server] sun.reflect.DelegatingConstructorAccessorImpl(DelegatingC
onstructorAccessorImpl.java):45:in `newInstance'
     # [remote server] java.lang.reflect.Constructor(Constructor.java):526:in `n
ewInstance'
     # [remote server] org.openqa.selenium.remote.ErrorHandler(ErrorHandler.java
):191:in `createThrowable'
     # [remote server] org.openqa.selenium.remote.ErrorHandler(ErrorHandler.java
):145:in `throwIfResponseFailed'
     # [remote server] org.openqa.selenium.remote.RemoteWebDriver(RemoteWebDrive
r.java):554:in `execute'
     # [remote server] org.openqa.selenium.remote.RemoteWebDriver(RemoteWebDrive
r.java):216:in `startSession'
     # [remote server] org.openqa.selenium.remote.RemoteWebDriver(RemoteWebDrive
r.java):111:in `<init>'
     # [remote server] org.openqa.selenium.remote.RemoteWebDriver(RemoteWebDrive
r.java):115:in `<init>'
     # [remote server] org.openqa.selenium.chrome.ChromeDriver(ChromeDriver.java
):150:in `<init>'
     # [remote server] org.openqa.selenium.chrome.ChromeDriver(ChromeDriver.java
):129:in `<init>'
     # [remote server] sun.reflect.NativeConstructorAccessorImpl(NativeConstruct
orAccessorImpl.java):-2:in `newInstance0'
     # [remote server] sun.reflect.NativeConstructorAccessorImpl(NativeConstruct
orAccessorImpl.java):57:in `newInstance'
     # [remote server] sun.reflect.DelegatingConstructorAccessorImpl(DelegatingC
onstructorAccessorImpl.java):45:in `newInstance'
     # [remote server] java.lang.reflect.Constructor(Constructor.java):526:in `n
ewInstance'
     # [remote server] org.openqa.selenium.remote.server.DefaultDriverFactory(De
faultDriverFactory.java):62:in `callConstructor'
     # [remote server] org.openqa.selenium.remote.server.DefaultDriverFactory(De
faultDriverFactory.java):56:in `newInstance'
     # [remote server] org.openqa.selenium.remote.server.DefaultSession$BrowserC
reator(DefaultSession.java):215:in `call'
     # [remote server] org.openqa.selenium.remote.server.DefaultSession$BrowserC
reator(DefaultSession.java):1:in `call'
     # [remote server] java.util.concurrent.FutureTask$Sync(FutureTask.java):334
:in `innerRun'
     # [remote server] java.util.concurrent.FutureTask(FutureTask.java):166:in `
run'
     # [remote server] org.openqa.selenium.remote.server.DefaultSession$1(Defaul
tSession.java):169:in `run'
     # [remote server] java.util.concurrent.ThreadPoolExecutor(ThreadPoolExecuto
r.java):1145:in `runWorker'
     # [remote server] java.util.concurrent.ThreadPoolExecutor$Worker(ThreadPool
Executor.java):615:in `run'
     # [remote server] java.lang.Thread(Thread.java):724:in `run'
     # ./NineMonitoring.rb:11:in `block (2 levels) in <top (required)>'

Finished in 20.75 seconds
1 example, 1 failure

Failed examples:

rspec ./filename.rb:28 # filename test_script

This comes after I run the file using

bundle exec rspec filename.rb

I'm new to this and not able to figure out what is going wrong. And also I'm trying to run it headless, so I have Xvfb running. Can someone please help in pointing out the mistake I make and get the chromedriver started?

UPDATE:

After the suggestions, I had updated the ChromeDriver and get the following error:

10:19:44.378 INFO - Executing: [new session: {platform=ANY, javascriptEnabled=tr
ue, cssSelectorsEnabled=true, browserName=chrome, nativeEvents=false, rotatable=
false, takesScreenshot=false, version=, chrome.switches=[--ignore-certificate-er
rors]}] at URL: /session)
10:19:44.417 INFO - Creating a new session for Capabilities [{platform=ANY, cssS
electorsEnabled=true, javascriptEnabled=true, browserName=chrome, nativeEvents=f
alse, rotatable=false, takesScreenshot=false, chrome.switches=[--ignore-certific
ate-errors], version=}]
Starting ChromeDriver (v2.9.248304) on port 21908
[0.723][WARNING]: PAC support disabled because there is no system implementation

An error occurred in an after hook
  NoMethodError: undefined method `quit' for nil:NilClass
  occurred at /home/deploy/deployment/ih2/spec/monitoring_script/NineMonitoring.
rb:24:in `block (2 levels) in <top (required)>'

While running the file:

Failures:

  1) MonitoringScript test_script
     Failure/Error: @driver = Selenium::WebDriver.for( :remote, :url => 'http://
localhost:4444/wd/hub', :desired_capabilities => @caps )
     Timeout::Error:
       Timeout::Error
     # ./testfile.rb:11:in `block (2 levels) in <top (required)>'

Finished in 1 minute 0.19031 seconds
1 example, 1 failure

Can anyone please help me in figuring out what is going wrong?

解决方案

Using Java 1.6 did the trick.

After trying Selenium-server-standalone-2.37.0.jar ; Google Chrome 33.0.1750.117; chromedriver_linux64_2.2; Java version "1.7", found that java version didn't go along with the others. And hence solved my problem.

这篇关于Selenium Webdriver&amp; Chrome驱动程序 - 无法运行Chrome驱动程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆