无法将RSelenium连接到服务器

时间:2017-01-11 22:38:09

标签: r rselenium

过去几个月我一直在学习R编程,真的很喜欢这门语言。我想开始使用它来自动化工作中的一些事情。然而对于我的生活,无论我谷歌或实验多少,我似乎无法启动浏览器。

我按照本文中的步骤进行了操作

https://www.r-bloggers.com/rselenium-a-wonderful-tool-for-web-scraping/

并从命令行启动服务器。这是我在控制台中运行的代码以及我收到的错误消息。

> library(RSelenium)
> checkForServer()
Warning message:
checkForServer is deprecated.
Users in future can find the function in 
file.path(find.package("RSelenium"), "example/serverUtils").
The sourcing/starting of a Selenium Server is a users responsiblity. 
Options include manually starting a server see 
vignette("RSelenium-basics", package = "RSelenium")
and running a docker container see 
vignette("RSelenium-docker", package = "RSelenium") 

我在64位Windows上运行并安装了最新的Firefox。 任何帮助或指示将非常感激。

谢谢, 单

1 个答案:

答案 0 :(得分:0)

好的,我刚刚经历过这个。因此,只需使用phaeomjs就可以完全跳过整个Selenium Server,RSelenium可以直接调用它。

步骤:

  1. 为您的平台here
  2. 下载phantomjs
  3. 将此二进制文件放在系统路径中或从R
  4. 获取访问权限的任何其他位置

    现在试试这个:

    library(RSelenium)
    pJS <- phantom(pjs_cmd = "<YOUR BINARY LOCATION>") # no arg if it's in PATH
    Sys.sleep(5)
    remDr <- remoteDriver(browserName = "phantomjs")
    remDr$open(silent = T)
    url <- "http://www.google.com"
    remDr$navigate(url)
    remDr$screenshot(display = TRUE)
    

    注意:当我运行此操作时,我在第一步后出现错误,但它仍然有效并拉起页面。不知道为什么会这样。