Download.File xls 问题 Excel 工作簿

Download.File Issue with xls Excel Workbook

我正在尝试使用 R 的 download.file 函数 (Windows 10, R version 3.4.4 (2018-03-15)) 下载 Excel 工作簿 xls

当我手动下载文件(使用 Internet Explorer 或 Chrome)时,文件会下载,然后我可以在 Excel 中打开它,没有任何问题。

当我在 R 中使用 download.file 时,文件下载但大小小于正确的下载文件 - 这个文件是 hmtl 文件,有一些说明我的浏览器不受支持。厌倦了不同的模式,没有运气。

我的代码:

download.file(
        url = "https://www.atsenergo.ru/nreport?fid=696C3DB7A3F6019EE053AC103C8C8733",
        destfile = "C:/MyExcel.xls",
        mode = "wb",
        method = "auto"
      )

使用 RSelenium 库解决此问题。 ATS 站点拒绝任何下载文件的查询(return .hmtl 文件带有 Required javascript enabled 消息),在这种情况下,Selenium 方法仅适用。我的下面的代码(其中 urlList 带有文件下载链接的数据框):

rD <- rsDriver(port = 4444L,
               browser = "chrome",
               check = FALSE,
               geckover = NULL,
               iedrver = NULL,
               phantomver = NULL)
remDr <- rD$client
for (i in 1:nrow(urlList)) {
  tryCatch({
    row <- urlList[i,]

    remDr$navigate(row$url)

    webElem <-
      remDr$findElement(using =
                          'link text', row$FileName)
    webElem$clickElement()
  },
  error = function(e)
    logerror(paste(
      substr(e, 1, 50),
      atsCode,
      dateFileName,
      sep = "\t"
    ), logger = loggerName),
  finally = next)
}

remDr$close()
# stop the selenium server
rD[["server"]]$stop()