RSelenium $ getElementText неправильно анализирует таблицу - PullRequest
0 голосов
/ 16 ноября 2018

Я пытаюсь очистить таблицу на динамической веб-странице:

library(RSelenium)
driver<- rsDriver()
remDr <- driver[["client"]]

url.fv.op <- "http://www2.aneel.gov.br/aplicacoes/capacidadebrasil/capacidadebrasil.cfm"
remDr$navigate(url.fv.op) # navigates to webpage
click <- "body > font > table:nth-child(8) > tbody > tr:nth-child(1) > td:nth-child(1) > table > tbody > tr:nth-child(7) > td:nth-child(1) > font > a"
load_page <- remDr$findElement(using = "css selector", value = click) 
load_page$clickElement() # Web page that contains the table of interest, with 8 columns

xpath <- "/html/body/table[2]"
elemX <- remDr$findElement(using="xpath", value=xpath) # get big table in text string
dataX <- elemX$getElementText()
dataX[[1]]

Таблица интереса состоит из восьми столбцов (см. Комментарий в коде выше). Однако выходные данные в dataX[[1]] распознают только первый столбец через разделитель /n и помещают в одну строку все следующие семь столбцов. Любые советы о том, как это исправить? Заранее спасибо.

1 Ответ

0 голосов
/ 17 ноября 2018

Я разобрался с решением:

Удалить:

dataX <- elemX$getElementText()
dataX[[1]]

и добавьте:

hlink<- read_html(elemX[[1]]$getPageSource()[[1]] )
table <- html_table(hlink,fill = T)
tf <- table[[2]]

rvest функции делают свое дело.

...