2016-08-19 6 views
0

私はこのウェブサイトをスクラップしようとしています:http://weirwood-net.com/generalinfo。 1874行のテーブルがあります。私はそれをスクラップするために結びついた。私はそれを得たが、最初の10行しかなかった。それは10のlengthMenuから来ます。他の可能性は25,50,100、allです。私はすべてのデータを破棄したい。RSeleniumとすべての行を表示

私は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> 

を私はPROBは、コード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でコードをビルドするのに役立つ可能性があり「長さ」メニューのオプション「すべて」を選択するか、またはテーブルの下にあるをクリックして、ページの各ページを変更するループを作成します。おかげさまで

+0

あなたは 'remDr $ findElement( "のxpath"、 "//オプション[テキスト()= 'すべて']")$ clickElement使用してすべてのオプションをクリックすることができます() ' – jdharrison

+0

私はこれらの行の間にそれを追加します:remDr $ navigate(appURL) dd <-remDr $ getPageSource()[[1]]それは動作します。ありがとうございます。私はその質問を閉じます。 –

答えて

0

適切なセレクタを使用してfindElementメソッドを使用して、希望するオプションを選択することができます。あなたはそれをクリックしclickElementメソッドを使用することができます。

remDr$findElement("xpath", "//option[text() = 'All']")$clickElement() 
関連する問題