R:RSelenium不会开始

时间:2016-08-29 18:52:08

标签: r rselenium

当我运行下面的代码时,弹出错误信息并且它不会启动会话。我也在下面包含了版本信息。 提前谢谢。

enter image description here

rm(list=ls(all=TRUE))
cat("\014")
library(RSelenium)
startServer()
remDr <- remoteDriver(port = 4444,
                      browserName = "firefox") 
remDr$open()[![enter image description here][1]][1]



[1] "Connecting to remote server"
Error:   Summary: UnknownError
     Detail: An unknown server-side error occurred while processing the command.
     class: org.openqa.selenium.firefox.NotConnectedException


> remDr$getStatus()$build
$version
[1] "2.53.0"

$revision
[1] "35ae25b"

$time
[1] "2016-03-15 17:00:58"

[更新]:我重新安装了我的firefox(48.0.2),现在当我运行相同的代码时,&#34; Firefox已停止工作&#34; msg消失了,而是打开一个空白页,但我仍然在R中看到相同的错误消息。请协助,谢谢!

1 个答案:

答案 0 :(得分:1)

如果您对broser / Selenium Server组合有问题,请考虑将Selenium与Docker一起使用。 Selenium项目在https://hub.docker.com/r/selenium/处提供了许多Docker镜像。

在您的情况下,您可以运行chrome调试容器(如果您希望能够进行VNC并查看正在运行的浏览器,则进行调试)。

在您的系统上安装docker并发出以下命令行:

$ docker run -d -p 4445:4444 -p 5901:5900 selenium/standalone-chrome-debug:2.53.0

如果需要,这将获取图像,然后在容器中运行图像。 Selenium服务器将在主机上的端口4445上公开。 Vnc将暴露在主机上的端口5901上。

在Windows上,您可能需要找到正在运行的容器的IP地址。在这种情况下,您可以使用:

$ docker-machine ip 192.168.99.100

在linux上,相关的ip地址是localhost。

您可以使用RSelenium连接到正在运行的容器:

# windows with the container ip
remDr <- remoteDriver(remoteServerAddr = "192.168.99.100",
                       port = 4445L, browserName = "chrome")
# linux 
remDr <- remoteDriver(port = 4445L, browserName = "chrome")
remDr$open()

要查看容器中的浏览器,您需要一个VNC查看器。有关详细信息,请参阅RSelenium docker vignette http://rpubs.com/johndharrison/RSelenium-Docker