RSelenium中的不一致行为

时间:2014-11-30 17:51:38

标签: r selenium selenium-webdriver rselenium

在Linux上,RSelenium / Selenium似乎表现不正常。我手动启动服务器,似乎启动良好。有时我可以从R会话连接到它,有时我会收到错误。我还不能确定原因:相同的脚本似乎有时会工作,而不是其他时间。有什么想法吗?

以下是启动服务器的输出:

12:41:25.811 INFO - Launching a standalone server
12:41:26.102 INFO - Java: Sun Microsystems Inc. 11.0-b16
12:41:26.102 INFO - OS: Linux 2.6.32-431.17.1.el6.x86_64 amd64
12:41:26.157 INFO - v2.44.0, with Core v2.44.0. Built from revision 76d78cf
12:41:26.492 INFO - Default driver org.openqa.selenium.ie.InternetExplorerDriver registration is skipped: registration capabilities Capabilities [{platform=WINDOWS, ensureCleanSession=true, browserName=internet explorer, version=}] does not match with current platform: LINUX
12:41:26.589 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:4444/wd/hub
12:41:26.589 INFO - Version Jetty/5.1.x
12:41:26.590 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver]
12:41:26.590 INFO - Started HttpContext[/selenium-server,/selenium-server]
12:41:26.590 INFO - Started HttpContext[/,/]
12:41:36.597 INFO - Started org.openqa.jetty.jetty.servlet.ServletHandler@2993a66f
12:41:36.598 INFO - Started HttpContext[/wd,/wd]
12:41:36.601 INFO - Started SocketListener on 0.0.0.0:4444
12:41:36.601 INFO - Started org.openqa.jetty.jetty.Server@6f507fb2

我在R会话中收到的错误:

Couldnt connect to host on http://localhost:4444/wd/hub.
Please ensure a Selenium server is running.Error in queryRD(paste0(serverURL, "/session"), "POST", qdata = toJSON(serverOpts))

其他时候,运行完全相同的脚本一切都会顺利进行。它可能是计算机节点实际执行脚本的不同之处,但我不知道它不能连接时的问题是什么。

2 个答案:

答案 0 :(得分:2)

library(RCurl)
library(RJSONIO)
library(XML)

# running selenium
system("java -jar selenium-server-standalone-2.44.0.jar")

我遇到了同样的问题并尝试运行上面的代码。最后知道只有1.7支持,但暂时不支持1.8。您可以尝试下载jre7和jdk7。

答案 1 :(得分:2)

我在Mac中遇到了同样的错误,但我注意到由于安全设置,系统不允许我用这段代码运行文件。我下载了selenium独立文件并使用控制键我单击了该文件,然后从我选择打开的菜单中。然后问题就解决了。