R/get_wikifolio_RS.R

Defines functions get_wikifolio_RS

Documented in get_wikifolio_RS

#' Download Portfolios From Wikifolio.com using RSelenium
#'
#' @param wiki_symbol wikifolio symbol
#'
#' @return returns a wikifolio portfolio
#' @importFrom magrittr %>%
#' @export
#'
#' @examples get_wikifolio_RS("WF0AAABEST")
get_wikifolio_RS <- function(wiki_symbol) {

  wiki_url <- paste0(
    "https://www.wikifolio.com/de/de/w/",
    wiki_symbol
  )

  remDr$navigate(wiki_url)
  Sys.sleep(10)
  webElem <- remDr$findElement(using = 'css selector', "#page-content > main > section > section.c-wfdetail--user-logged-in > div > nav > ul > li:nth-child(2) > div > div")
  webElem$clickElement()
  Sys.sleep(5)
  webElem <- remDr$findElement(using = 'css selector', "#page-content > main > section > section.c-wfdetail--user-logged-in > div > div > div.js-tab.c-wfdetail__tab-content.c-wfdetail__tab-portfolio > div > div > div.c-portfolio__download-link-file > a > span.c-arrow-link__text")
  webElem$clickElement()
  Sys.sleep(15)

  #read downloaded file
  file_n <- list.files("/Users/admin/Downloads/") %>%
    grep(., pattern=wiki_symbol, perl = FALSE) %>%
    tail(., 1)
  file_tmp <- paste0("/Users/admin/Downloads/",
                     list.files("/Users/admin/Downloads/")[file_n])

  wiki_portfolio <- read.csv2(file_tmp, sep = ";", fileEncoding = "UCS-4-INTERNAL",
                              header = TRUE)
  if (file.exists(file_tmp)) {file.remove(file_tmp)}

  wiki_portfolio
}
rengelke/tradr documentation built on Jan. 2, 2022, 2:03 p.m.