【问题标题】:Retrieve data from a web page table using RSelenium使用 RSelenium 从网页表中检索数据
【发布时间】:2016-01-29 16:40:57
【问题描述】:

我正在尝试从这个国家河流流量档案(英国)网站上抓取年度最大流量数据: 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 如何选择“峰值流量数据”选项卡,然后从下拉菜单中选择“最大年度 (AMAX) 数据”选项有什么建议吗?

【问题讨论】:

    标签: r rselenium


    【解决方案1】:
    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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多