使用 PhantomJS 1.9.0 的空白页,Ubuntu 14.04 中的 RSelenium

Blank page using PhantomJS 1.9.0, RSelenium in Ubuntu 14.04

我在尝试导航到任何页面时得到一个空白页面,而且我找不到任何 DOM 元素。我已经尝试使用我已经拥有的两台不同的机器,它们都是 Ubuntu 14.04 服务器。

library("RSelenium")
pJS <- phantom()
nav <- remoteDriver(remoteServerAddr = "localhost", port = 4444, browserName = "phantomjs")

nav$open()
nav$navigate("https://airenetworks.es/")
geco <- nav$findElement(using = "partial link text", value = "Oficina Virtual")
geco$clickElement()

这段代码最后一行的错误是:

Error:   Summary: NoSuchElement
     Detail: An element could not be located on the page using the given search parameters.
     class: SessionReqHand

通过 install.packages("RSelenium") 安装了 RSelenium,通过 apt-get install phantomjs 安装了 PhantomJS。 demo("PhantomJSUserAgent") 也失败了。

如果在这种状态下我执行 nav$screenshot(display = TRUE) 我得到的图像是全白的。如果您需要图像数据,它是:

iVBORw0KGgoAAAANSUhEUgAAAZAAAAEsCAYAAADtt+XCAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAehJREFUeJztwTEBAAAAwqD1T20ND6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4N1SVAAH5HdPnAAAAAElFTkSuQmCC

如果您需要更多信息,请询问。谢谢!

我终于发现我必须这样编码:

pJS <- phantom(extras = "--ignore-ssl-errors=true --ssl-protocol=tlsv1")
Sys.sleep(2)
nav <- remoteDriver(remoteServerAddr = "localhost", port = 4444, browserName = "phantomjs")

您必须将协议设置为 tlsv1。同样重要的是让它休眠一两秒钟,因为它需要时间才能启动(经过一些试验和错误我意识到我需要 Sys.sleep(2) 在调用 remoteDriver 函数之前)