r - 使用 RSelenium 下载 Excel 文件

标签 r excel rselenium

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

我发现了有关 pdf here 的类似问题。答案表明通过指定 extraCapability 应该可以实现:

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

不幸的是,我不知道如何正确设置extraCapability

有人可以告诉我一个方向吗?感谢您的帮助。

编辑

我知道提供的解决方案 here并希望能够使用extraCapability-方法。

最佳答案

这是一个例子:

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

请注意 content type必须匹配:

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

尽管您应该能够使用 * 等通配符。

关于r - 使用 RSelenium 下载 Excel 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34679950/

相关文章:

RSelenium 错误 : NotConnectedException

docker - 带有 RSDriver 的 RSelenium。错误 : httr output: Failed to connect to localhost port 4445: Connection refused

r - R 中的 "sample"和 "rbinom"函数

r - 为要由另一个变量分组的连续变量创建计数

vba - 通过组合 2 列形成唯一键的 VLOOKUP

excel - 如何覆盖网站安全证书以消除错误?

r - 如何在 R 中排列嵌套数据(即带父项的数据)?

r - 如何根据多个条件将一列添加到数据框中,其中包含另一列的值

arrays - 计算两个或多个空格后字符的位置

docker : where are files downloaded? 上的 RSelenium