我正试图从这个National River Flow Archive(英国)网站获取年度最大流量数据: http://nrfa.ceh.ac.uk/data/station/info/69032 使用RSelenium。 我无法找到协商下拉菜单的方法。目前,我可以使用以下方法对流程进行半自动化:
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如何选择&#34;峰值流量数据的任何建议&#34;选项卡,然后是&#34;最大年度(AMAX)数据&#34;下拉菜单中的选项?
答案 0 :(得分: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,请将[SELECTOR GADGET]插件安装到chrome中。突出显示您希望RSelenium单击的元素,然后获取css id。