【问题标题】:Using selenium drivers to Print to PDF使用 selenium 驱动程序打印到 PDF
【发布时间】:2017-09-08 22:15:15
【问题描述】:

我正在努力解决一个问题。

出现“打印”对话框时,我需要下载 PDF 文件。

这是一个对话框的例子

我已经尝试过 chrome 和 firefox 驱动程序。但不幸的是仍然无法正常工作。

我发现了以下对 firefox 的偏好

    fp.setPreference("print.print_to_file", true);

但是好像不行。 它甚至没有应用到配置变量集中。

请提出任何使用 selenium 自动执行某些操作的方法,然后在出现此打印对话框时保存到 PDF 文件。

【问题讨论】:

标签: selenium pdf firefox webdriver webdriver-io


【解决方案1】:

首先,您需要知道 selenium 是一个网络自动化工具。所以它只能操作属于浏览器的东西。即便如此,它也不能操作所有属于浏览器的东西,比如浏览器的地址栏、收藏夹、菜单栏。

在大多数情况下,打印对话框不属于浏览器,它由操作系统或安装在操作系统上的其他软件提供。所以 selenium 不能操作是合理的。

如果你的脚本代码是java,你可以使用java.awt.robot来捕获对话框 并单击“打印到文件”。

如果 java.awt.robot 可以按您的预期工作,我认为您还需要在脚本中设置浏览器选项,为浏览器提供保存打印文件的路径,就像下载文件时一样,浏览器会询问您在哪里保存。

如果您不设置该选项,我想它会弹出另一个对话框,询问您在哪里保存,并且该对话框也不属于浏览器。 使用java.awt.robot设置保存路径并不容易。

因为您需要考虑脚本在不同操作系统上运行的可能性,所以使用 abosulte 路径在不同的操作系统上是不可行的。此外,如果您的脚本使用 seleniu 网格运行,它会让您着迷。因此,如果测试打印到文件功能并不重要,我建议您手动测试它。

【讨论】:

    【解决方案2】:

    您可以使用 Testmate 自动打印到 PDF,如下所示 http://thetestmate.com/save-as-pdf-in-chrome-testmate-selenium/

    【讨论】:

      猜你喜欢
      • 2015-11-02
      • 1970-01-01
      • 2018-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-16
      • 1970-01-01
      • 2021-05-15
      相关资源
      最近更新 更多