使用RSelenium下载Excel文件
我需要从数据库中下载一个excel文件(我无法提供代码的原因)。 我可以使用RSelenium
单击下载图标。 接下来会发生的是,通常的对话窗口会打开,询问我是否要保存文件或打开文件。 我怎样才能压制这个消息,并将文件下载到一个文件夹?
我在这里find了关于pdf的类似问题。 答案build议应该可以通过指定extraCapabilities
:
remDr <- remoteDriver(remoteServerAddr = "localhost", browserName = "firefox", extraCapabilities = someCapabilities, port = 4444)
不幸的是,我不知道如何正确设置extraCapabilities
。
有人能暗示我一个方向吗? 感谢帮助。
编辑
我知道这里提供的解决scheme,并希望能够使用extraCapabilities
-Approach。
这是一个例子:
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
请注意, 内容types必须匹配:
library(httr) HEAD(url)$headers$`content-type` # [1] "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
虽然你应该能够使用通配符,如*
。