Загрузка файлов Excel с помощью RSelenium

Мне нужно загрузить excel-файл из базы данных (причина, что я не могу предоставить код). Я могу щелкнуть значок загрузки с помощью RSelenium. Далее происходит то, что открывается обычное диалоговое окно с вопросом, хочу ли я сохранить файл или открыть его. Как я могу подавить это сообщение и загрузить файл в папку?

Я нашел аналогичный вопрос относительно pdf здесь. Ответ предполагает, что это должно быть возможно, указав extraCapabilities:

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

К сожалению, я не мог понять, как правильно установить extraCapabilities.

Может ли кто-нибудь подсказать мне направление? Спасибо за помощь.

Изменить

Я знаю о решении, предоставленном здесь, и надеюсь, что смогу использовать extraCapabilities-Подход.


person Thomas    schedule 08.01.2016    source источник


Ответы (1)


Вот пример:

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"

Хотя вы должны иметь возможность использовать подстановочные знаки, такие как *.

person lukeA    schedule 08.01.2016
comment
команда makeFirefoxProfile(...) возвращает ошибку: Ошибка в файле (tmpfile, rb): невозможно открыть соединение. Кроме того: Предупреждающие сообщения: 1: выполняется команда 'zip -r9Xjq C:\Users\rockscience\AppData\Local\Temp\RtmpoPhjUb\file31028ad12f9 .zip C:\Users\rockscience\AppData\Local\Temp\RtmpoPhjUb/firefoxprofile/prefs.js ' имел статус 127 2: В файле (tmpfile, rb): невозможно открыть файл 'C:\Users\rockscience\AppData\Local \Temp\RtmpoPhjUb\file31028ad12f9.zip': Нет такого файла или каталога - person RockScience; 17.02.2017
comment
может быть, потому что я запускаю селен в докере? - person RockScience; 17.02.2017
comment
Извините, я не знаю. - person lukeA; 17.02.2017