【发布时间】:2014-11-18 11:53:03
【问题描述】:
有什么方法可以找出 Selenium 下载的最新文件是什么,以及从哪里(哪个 URL)下载的?
我通过单击元素从大量站点(我无法控制)获取文件,我的问题是我不知道文件是如何下载的。有时它只是一个 <a> 元素,有时有一个 Javascript 事件附加到某个元素或表单(从检查中并不总是很明显)等等,等等。
所以我认为最简单的方法就是点击一下,然后检查下载文件夹中的内容。但后来我不知道该文件来自哪里,我还需要存储 url。
对于可以内联显示的文件,我当然可以在浏览器中打开它们并获取driver.current_url。这对于它实际工作的文件格式非常方便,所以如果有一种方法可以强制,例如Firefox 或 Chrome 以内联方式打开 all 文件,这也是一种选择。 (我知道one such extension。但是,该扩展程序需要在操作系统文件对话窗口中进行一些用户交互,这在这里似乎有点过分了)
可能的解决方案
-
Firefox:Read
moz_downloadsfromdownloads.sqlite,在 FF SQLite 数据库中 - Chrome:Read the corresponding SQLite db 用于 Chrome/ium
- 写browser extensions 修改访问页面的mimetype,以便所有文件在浏览器中以纯格式打开,并且可以从那里访问URL。
【问题讨论】:
标签: google-chrome firefox chromium python-2.x