如何使用 Rselenium 读取 html table?

How to read an html table using Rselenium?

我正在使用 Rselenium 导航到网页。下面的代码就是这样做的。我没有提供 url 因为我在一家需要 vpn 连接的公司使用 url:

RSelenium::startServer()
require(RSelenium)
remDr <- remoteDriver()
remDr$navigate("some url")

导航到网页后,在 html 源中我有以下内容 table:

<font size="2">
<table border="1">
<tbody>
<tr>
<td> item1 </td>
<td> 0 </td>
<td> 0.05 </td>
<td> 2.43 </td>
<td align="center"> Pct </td>
<td align="center"> 1 </td>
</tr>
</tbody>
</table>

现在的问题是如何提取这个table的内容?请假设 url 不存在,否则我可以使用 XML 函数:readHTMLTable(remDr$getCurrentUrl())。但由于某种原因,这不起作用。我只需要使用 remoteDriver 句柄 (remDr)。 非常感谢您的宝贵时间

类似于:

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

应该允许您访问 html 并处理包含的表。

我更喜欢使用 rvest,所以我所做的是:

# Importing libraries
library(RSelenium)
library(rvest)

# Extracting table
remDr$getPageSource()[[1]] %>% 
  read_html() %>%
  html_table()