RSelenium并显示每一行

时间:2016-08-19 16:23:21

标签: javascript jquery r web-scraping rselenium

我想废弃这个网站: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中构建一个代码来选择选项&#34; All&#34;在“长度”菜单中,或者创建一个循环来更改pable的每个页面(单击下面的表格下方)。 感谢。

1 个答案:

答案 0 :(得分:0)

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

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