3

RSelenium を使用して、この National River Flow Archive (UK) Web サイト ( http://nrfa.ceh.ac.uk/data/station/info/69032 ) から年間最大流量データを収集しようとしています。ドロップダウン メニューをネゴシエートする方法が見つかりません。現在、次を使用してプロセスを半自動化できます。

library(RSelenium)
checkForServer()
startServer()
remDr <- remoteDriver(remoteServerAddr = "localhost", port = 4444, browserName = "firefox", platform = "LINUX")
remDr$open()
i <- "69032"
remDr$navigate(paste0("http://nrfa.ceh.ac.uk/data/station/peakflow/", i))
# read the raw html and parse
doc<-htmlParse(remDr$getPageSource()[[1]])
peak.flows <- as.numeric(readHTMLTable(doc)$tablesorter[, "Flow (m3/s)"])

これはちょっとしたハックであり、RSelenium でクリックするのではなく、ページ上のいくつかのボタンをクリックする必要があります。RSelenium が [ピーク フロー データ] タブを選択し、ドロップダウン メニューから [最大年間 (AMAX) データ] オプションを選択する方法について何か提案はありますか?

4

1 に答える 1

2
library(RSelenium) 
checkForServer() 
startServer() 
remDr <- remoteDriver(remoteServerAddr = "localhost", port = 4444, browserName = "firefox", platform = "LINUX") 
remDr$open() i <- "69032"
remDr$navigate(paste0("http://nrfa.ceh.ac.uk/data/station/peakflow/", i))
remDr$findElement(using="css selector",'.selected a')$clickElement() 
Sys.sleep(5) 
remDr$findElement(using = "css selector", "#selectDataType")$clickElement()
remDr$findElement(using = "css selector", "#selectDataType")$sendKeysToElement(list(key="down_arrow", key="enter")) 
Sys.sleep(2)`

興味のある要素のcss idを知りたい場合は、Chromeに[SELECTOR GADGET]プラグインをインストールしてください。RSelenium にクリックさせたい要素を強調表示し、css id を取得します。

于 2016-02-03T22:28:37.217 に答える