【问题标题】:Blank page using PhantomJS 1.9.0, RSelenium in Ubuntu 14.04在 Ubuntu 14.04 中使用 PhantomJS 1.9.0、RSelenium 的空白页面
【发布时间】:2015-12-11 14:22:11
【问题描述】:

当我试图导航到任何页面时,我得到一个空白页面,并且我找不到任何 DOM 元素。我已经尝试了两台不同的机器,它们都是 Ubuntu 14.04 Server。

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

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

【问题讨论】:

  • 这与 POODLE (A) 有关,您需要使用更新的 PhantomJS 版本 > 1.9.7 或找到将--ssl-protocol=any 传递给 PhantomJS 的方法。
  • 太好了!我尝试的所有 URL 都是 https。尝试使用非 SSL 网页有效。让我们试试你告诉我的
  • 从启动板launchpad.net/~forger/+archive/ubuntu/phantomjs-nightly/+build/…安装了这个,但错误仍然存​​在,还有phantom(extras = "--ssl-protocol=any"),但错误也仍然存在

标签: r ubuntu selenium phantomjs rselenium


【解决方案1】:

我终于发现我不得不把它编码成这样:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-22
    • 1970-01-01
    • 2015-11-18
    相关资源
    最近更新 更多