使用Selenium WebDriver使用Firefox"打印"或"另存为"功能

 纠结不停的孩子 发布于 2023-02-05 12:23

我想以编程方式指示Firefox访问URL列表(例如,在文本文件中定义),并且每个URL都将页面保存到磁盘或打印它.

我知道Selenium提供了捕获页面截图的功能,但我想知道是否可以使用浏览器的本机保存和打印功能.

如果Selenium没有提供这样的功能,那么任何其他工具是否允许我定义一个由Firefox执行的脚本并获得类似的结果?

1 个回答
  • 可以在firefox中启用静默打印以打印到默认打印机,绕过打印对话框.

    所需的firefox首选项是print.always_print_silent,并且可以使用selenium设置,如下所示:

    import org.openqa.selenium.JavascriptExecutor;
    /* ... */
    FirefoxProfile profile = new FirefoxProfile();
    profile.setPreference("print.always_print_silent", true);
    WebDriver driver = new FirefoxDriver(profile);
    

    现在只需导航到一个网页并使用javascript调用print:

    driver.get("http://www.google.com");
    ((JavascriptExecutor)driver).executeScript("window.print();");
    

    此外,还可以使用免费的PDF打印机(如novaPDF)进行打印,而不显示"另存为"对话框,并自动将PDF保存到预定义位置.

    2023-02-05 12:25 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有