【问题标题】:RSelenium and display every rowsRSelenium 并显示每一行
【发布时间】:2016-08-19 16:23:21
【问题描述】:

我正在尝试废弃这个网站:http://weirwood-net.com/generalinfo。有一个有 1874 行的表。我绑起来报废了。我明白了,但只有前 10 行。它来自 10 中的 lengthMenu。其他可能性是 25、50、100,全部。我想报废所有数据。

我将此代码与 Rselenium 一起使用:

<code>library(RSelenium)
appURL <- "http://weirwood-net.com/generalinfo"
pJS <- phantom()
Sys.sleep(5)
remDr <- remoteDriver()
remDr$open()
remDr$navigate(appURL)
webElem <- remDr$findElement("css selector", "#tablepress-8")
dd<-remDr$getPageSource()[[1]]
doc <- htmlParse(dd)
readHTMLTable(doc)
remDr$close()
pJS$stop()</code>

我知道问题在于代码 htlm 的那部分:

<code>
jQuery(document).ready(function($){
$('#tablepress-8').dataTable({"order":[],"orderClasses":false,"stripeClasses":['even','odd'],"pagingType":"simple","columnDefs": [ { "type": "formatted-num", "targets": [ 7, 8 ] } ],"lengthMenu":[[10,25,50,100,-1],[10,25,50,100,"All"]]}).columnFilter();
});</code>

然后,您能否帮助在 Rselenium 中构建代码,以便在“长度”菜单中选择“全部”选项,或者创建一个循环来更改表格的每一页(单击表格下方的下一步)。 谢谢。

【问题讨论】:

  • 您可以使用 `remDr$findElement("xpath", "//option[text() = 'All']") $clickElement()`点击 All 选项。
  • 我在这几行之间添加了它:remDr$navigate(appURL) dd

标签: javascript jquery r web-scraping rselenium


【解决方案1】:

您可以使用findElement 方法和适当的选择器来选择您想要的选项。然后你可以使用clickElement方法点击它:

remDr$findElement("xpath", "//option[text() = 'All']")$clickElement()

【讨论】:

    猜你喜欢
    • 2016-12-21
    • 1970-01-01
    • 2013-07-24
    • 1970-01-01
    • 2019-11-28
    • 1970-01-01
    • 2011-01-12
    • 2016-06-24
    • 1970-01-01
    相关资源
    最近更新 更多