如何使用RSelenium将由javascript形成的html表提取到data.frame

时间:2019-01-24 17:14:10

标签: html-table rselenium

我需要获取由javascript形成的油价表的数据,以便可以将其存储到R中的data.frame中。

在以下代码中,我能够使用RSelenium在chrome浏览器中打开url,但无法在xpath [@ id ='historic-price-list'] / div / div中提取历史油价表[2] /表格。以下似乎没有给我一张表格或我想要的值。 https://markets.businessinsider.com/commodities/historical-prices/oil-price/usd?type=brent

library('RSelenium')
rD <- rsDriver(browser = "chrome") 
remDr <- rD[["client"]] #Start Chrome.
siteAdd <- "https://markets.businessinsider.com/commodities/historical-prices/oil-price/usd?type=brent"

remDr$navigate(siteAdd) #Open the site.

abc=remDr$findElement("css selector","//*[@id='historic-price-list']/div/div[2]/table > tbody > tr:nth-child(1) > th:nth-child(1)")$getElementText()

我希望将其放到可以放到data.frame的表上。

1 个答案:

答案 0 :(得分:0)

对于任何需要密码的人! RSelenium编码超过几年无法真正起作用,我一直在努力进行拔筋。 也非常感谢这个链接! How to read an html table using Rselenium?

library('RSelenium')
library('XML')
rD <- rsDriver(browser = "chrome")
#Start Chrome.
remDr <- rD[["client"]]
#Add a test URL.
siteAdd <- "https://markets.businessinsider.com/commodities/historical-prices/oil-price/usd?type=brent"
#Open the site.
remDr$navigate(siteAdd)

doc <- htmlParse(remDr$getPageSource()[[1]])
readHTMLTable(doc)