我收到以下错误:"检查错误(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)
然后我得到提到的错误。我尝试在终端中使用"java -jar selenium-server-standalone.jar"命令(在我们之后的cd命令导航到正确的目录(。我尝试在 remoteDriver(( 函数中更改我的端口(更改为 4444、5556(。我已经尝试了各种 Sys.sleep(( 时间(最多 20 秒(。当我用谷歌搜索此错误时,大多数修复程序都适用于FireFox或Windows,不适用于使用PhantomJS。
我还能尝试什么?
RSelenium::phantom
函数已弃用。这有一个pjs_cmd
论点,我想你在上面提到过。您可以使用 RSelenium
中的 rsDriver
函数或 wdman
包中的phantomjs
函数:
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()