2

我需要从数据库中下载一个 excel 文件(我无法提供代码的原因)。我可以使用 . 单击下载图标RSelenium。接下来发生的是通常的对话窗口打开,询问我是否要保存文件或打开它。如何禁止显示此消息并将文件下载到文件夹中?

我在这里找到了关于 pdf 的类似问题。答案表明应该可以通过指定extraCapabilities

remDr <- remoteDriver(remoteServerAddr = "localhost", 
                  browserName = "firefox",
                  extraCapabilities = someCapabilities,
                  port = 4444)

不幸的是,我无法弄清楚如何extraCapabilities正确设置。

有人可以提示我一个方向吗?感谢帮助。

编辑

我知道这里提供的解决方案,并希望能够使用extraCapabilities-Approach。

4

1 回答 1

3

这是一个例子:

library(RSelenium)
startServer()
remDr <- remoteDriver(extraCapabilities = makeFirefoxProfile(list(
  "browser.helperApps.neverAsk.saveToDisk"="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
))
remDr$open()
url <- "http://www.iwh-halle.de/e/fdz/IntBankLib/data/downloads/databases.xlsx"
remDr$navigate(url)
file.exists(file.path("~/Downloads/", basename(url)))
# [1] TRUE

请注意,内容类型必须匹配:

library(httr)
HEAD(url)$headers$`content-type`
# [1] "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"

尽管您应该能够使用通配符,例如*.

于 2016-01-08T15:19:51.297 回答