我收到以下错误:" checkError(res)出错: 无法连接到http://localhost:4444/wd/hub上的主持人。 请确保Selenium服务器正在运行。"
我使用的是mac版本10.9.5,并下载了所有最新版本的软件包和java。我的代码是:
library(rvest)
library(RSelenium)
library(wdman)
setwd(Path to selenium standalone file)
pJS <- phantomjs(pjs_cmd = "/phantomjs-2.1.1-macosx/bin/phantomjs")
remDr <- remoteDriver(browserName = "phantomjs")
Sys.sleep(5)
remDr$open(silent = FALSE)
然后我得到了上面提到的错误。我尝试过使用&#34; java -jar selenium-server-standalone.jar&#34;终端中的命令(在我们之后使用cd命令导航到正确的目录)。我尝试在remoteDriver()函数中更改我的端口(到4444,5556)。我尝试了各种Sys.sleep()次(最多20秒)。当我用Google搜索此错误时,大多数修复都是针对FireFox或Windows的,并且不适用于使用PhantomJS
我还能尝试什么?
答案 0 :(得分:3)
不推荐使用RSelenium::phantom
函数。这有一个pjs_cmd
参数,我想你在上面提到了这个参数。您可以使用rsDriver
中的RSelenium
函数或phantomjs
包中的wdman
函数:
library(RSelenium)
rD <- rsDriver(browser = "phantomjs")
remDr <- rD[["client"]]
# no need for remDr$open a phantom browser is already initialised
remDr$navigate("http://www.google.com/ncr")
....
....
# clean up
rm(rD)
gc()
或者使用wdman
包
library(RSelenium)
library(wdman)
pDrv <- phantomjs(port = 4567L)
remDr <- remoteDriver(browserName = "phantomjs", port = 4567L)
remDr$open()
remDr$navigate("http://www.google.com/ncr")
...
...
# clean up
remDr$close()
pDrv$stop()