pythonselenium pdf_使用Python Selenium Webdriver捕获PDF文件

我们使用python测试套件测试了内部开发的应用程序,该套件可通过Selenium WebDriver完成Web导航/交互。我们的网络测试的棘手部分是处理应用程序中的一系列pdf报告。我们正在测试Firefox从v3.6升级到v16.0.1的计划升级,事实证明,由于firefox的temp文件夹的目录结构发生了更改,因此无法再使用捕获报告的方式。我没有写原始的pdf捕获代码,但是我将对v16.0.1最终使用的代码进行重构,所以我想知道是否存在比使用Python的Selenium Webdriver绑定保存pdf更好的方法。目前正在做。

以前,对于Firefox v3.6,单击生成报告的链接后,我们将在" C: Documents and Settings \ Local Settings Temp plugtmp"目录中扫描pdf文件(具有特定的名称约定),以被生成。需要明确的是,我们不是从网页本身保存报告,而是使用在firefox的Temp文件夹中生成的报告。

在Firefox 16.0.1中,单击生成报告的链接后,将在文件" C: Documents and Settings \ Local Settings Temp tmp * cache *"中生成文件,文件名为随机文件,结尾不为" .pdf"。如果使用与上一个类似的技术,则捕获该文件会更加困难-每个浏览器都有一个不同的tmp ***文件夹,该文件夹具有一个充满文件夹的缓存,其中的报告是使用随机文件名生成的。

我能看到的最简单的解决方案是直接保存pdf,但我还没有找到一种方法来保存。

要使用与FF3.6中相同的方法(在Temp文件夹目录中找到pdf),我认为我们需要执行以下操作:

找出哪个tmp ***文件夹属于此特定浏览器实例(我们可以通过检查实例化浏览器之前和之后存在的tmp ***文件夹来做到这一点)

在浏览器的缓存中查找在生成pdf报告后立即生成的文件(我们可以通过比较时间戳)

如果在缓存中生成了多个文件,则我们可能会根据大小排序并获取最大的文件,因为pdf几乎肯定是最大的临时文件(尽管这看起来很不稳定,并且需要在实践中进行测试) 。

我对这种方法感觉不太好,并且想知道是否有更好的方法来捕获pdf文件。谁能建议一个更好的方法?

注意:PDF文件的实际抓取仍然可以正常工作。

我们最终通过在测试前清除Firefox的临时Internet文件,然后在生成报告后查找最近创建的文件来完成此任务。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值