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でコードをビルドするのに役立つ可能性があり「長さ」メニューのオプション「すべて」を選択するか、またはテーブルの下にあるをクリックして、ページの各ページを変更するループを作成します。おかげさまで
あなたは 'remDr $ findElement( "のxpath"、 "//オプション[テキスト()= 'すべて']")$ clickElement使用してすべてのオプションをクリックすることができます() ' – jdharrison
私はこれらの行の間にそれを追加します:remDr $ navigate(appURL) dd <-remDr $ getPageSource()[[1]]それは動作します。ありがとうございます。私はその質問を閉じます。 –