使用 RSelenium 下载 pdf
Posted
技术标签:
【中文标题】使用 RSelenium 下载 pdf【英文标题】:Downloading a pdf using RSelenium 【发布时间】:2015-12-27 00:06:06 【问题描述】:我想用RSelenium
包做的是,
步骤:1 访问网站 - 我自己的电力供应商
步骤:2 通过明确提供我的用户名和密码来访问我的帐户(这就是我无法共享代码的原因)
步骤:3 我点击“查看我的账单”。 账单以 pdf 格式显示。
有没有办法下载该文件并保存到特定文件夹?
当我使用download.file()
命令时,它不会保存文档,而是得到一个无法打开的 3KB pdf 文件。 Adobe Reader 说读取文档时出错。
我尝试过的可能方法: 1. 右键单击,按四次向下箭头,然后到'SAVE PAGE AS'点击Enter。
然后它会弹出一个对话框,询问文件名和位置,我无法通过 RSelenium 输入这些详细信息并保存文件。
示例代码:网上随机找到的一些 PDF。
url<- "http://www.immigrationpolicy.org/sites/default/files/docs/how_us_immig_system_works.pdf"
setwd("C:/Users/king/Desktop/bill")
library(RSelenium)
library(downloader)
checkForServer()
startServer()
remDr <- remoteDriver()
remDr$open()
remDr$navigate(url)
【问题讨论】:
有趣的问题。你能提供一个最小的工作示例吗? ***.com/help/how-to-ask 【参考方案1】:我在不断的研究中找到了答案。
首先检查是否Rtools is installed(使用此链接找到答案)
然后更新了我的程序
cprof<-makeFirefoxProfile(list(
"pdfjs.disabled"=TRUE,
"plugin.scan.plid.all" = FALSE,
"plugin.scan.Acrobat" = "99.0",
"browser.helperApps.neverAsk.saveToDisk"='application/pdf',
))
remDr <- remoteDriver(extraCapabilities=cprof)
仍在尝试更改我尚未找到的下载文件夹。我从THIS link找到答案
【讨论】:
以上代码仅适用于问题中的示例。当我在实际应用程序中尝试代码时,pdf 文件被自动下载为.aspx
文件。但随后尝试将文件重命名为 filename.pdf 它有效。我将下载的文件重命名为 .pdf。以上是关于使用 RSelenium 下载 pdf的主要内容,如果未能解决你的问题,请参考以下文章