【发布时间】: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