首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用selenium驱动程序打印到PDF

使用selenium驱动程序打印到PDF
EN

Stack Overflow用户
提问于 2017-09-09 06:15:16
回答 2查看 5.4K关注 0票数 1

我正在与一个问题作斗争。

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

以下是该对话框的示例

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

我发现以下是firefox的首选

代码语言:javascript
复制
    fp.setPreference("print.print_to_file", true);

但它似乎不起作用。它甚至不会应用到配置变量集。

请建议使用selenium自动执行某些操作,然后在此打印对话框出现时保存为PDF文件。

EN

回答 2

Stack Overflow用户

发布于 2017-09-09 09:38:28

首先,您需要知道selenium是一个web自动化工具。所以它只能操作属于浏览器的东西。即使这样,它也不能操作所有属于浏览器的东西,比如浏览器的地址栏、喜好栏、菜单栏。

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

如果你的脚本是用java编写的,你可以使用java.awt.robot来捕获对话框,然后点击‘打印到文件’。

如果java.awt.robot能像你期望的那样工作,我想你也需要在你的脚本中设置浏览器选项,给出浏览器保存打印文件的路径,就像你下载文件时,浏览器会问你保存在哪里。

如果您不设置选项,我猜它会弹出另一个对话框,询问您要保存到何处,而且此对话框也不属于浏览器。使用java.awt.robot设置保存路径并不容易。

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

票数 0
EN

Stack Overflow用户

发布于 2020-01-28 14:26:57

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46125177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档