R/getWikiPortfolioRS.R

Defines functions getWikiPortfolioRS

#' Download Historical Price Data From Wikifolio with RSelenium
#'
#' @param wiki_symbol wikifolio symbol
#'
#' @return returns a wikifolio portfolio
#' @importFrom magrittr %>%
#' @export
#'
#' @examples getWikiPortfolioRS("WF0AAABEST")
getWikiPortfolioRS <- 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', "a.js-tab__link.c-wfdetail__tab-link.gtm-portfolio-tab")
  webElem$clickElement()
  Sys.sleep(5)
  webElem <- remDr$findElement(using = 'css selector', "a.c-arrow-link.c-arrow-link--green.u-fw-sb.js-wikifolio-download-portfolio.gtm-download-portfolio")
  webElem$clickElement()
  Sys.sleep(15)

  #find file in dowload folder
  file_n <- list.files("/Users/home/Downloads") %>%
    grep(., pattern=wiki_symbol, perl = FALSE) %>%
    tail(., 1)
  file_tmp <- paste0("/Users/home/Downloads/",
                     list.files("/Users/home/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)

  #remDr$close()
  #rm(rD)
  #gc()

  return(wiki_portfolio)
}
rengelke/quantTraiding_trato documentation built on Oct. 13, 2020, 12:01 p.m.