java+selenium+autoIt 实现下载(打印)功能

本文介绍如何使用java结合selenium和autoIt自动化实现网页打印为PDF。通过selenium操作浏览器,利用autoIt处理Windows弹窗,完成文件保存。详细讲解了selenium连接chrome、加载URL、调起打印事件以及autoIt的基本使用,包括脚本语法、保存文件和打包成exe。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java+selenium+autoIt 实现下载(打印)功能

selenium是一个开源的自动化测试框架,它可以模拟用户对浏览器的操作,进行自动化的测试。但是,它不仅仅只能用来做测试。

AutoIt 是一个使用类似BASIC脚本语言免费软件,它设计用于Windows GUI(图形用户界面)中进行自动化操作。它利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现自动化任务。而这是其它语言不可能做到或无可靠方法实现的(例如VBScriptSendKeys)。在这个项目中AutoIt 主要用于在浏览器中点击下载后,保存文件时,对windos弹框进行操作。

因为业务需求,需要把一个html网页转化成PDF,本来准备考虑用iText来对html转为PDF,但是我们已经拥有html的网页了,用iText感觉太麻烦,然后又找了一个第三方html->pdf,结果需要收费等一些其它原因,最终决定采用selenium+chrome+java+autol对网页进行导出PDF。

即使这个是打印成PDF,也可用于下载

环境:springboot v2.1.2 + maven + selenium 3.141.59 + chrome 71.0.3578.98

1 selenium

1.1 关于selenium

selenium是一个自动化测试框架,可以模拟用户的浏览器操作,可以和几门热门的语言相结合,例如java,python,接下来我将使用selenuim来操作chrome来模拟用户将网页保存为PDF。

1.2 selenium连接chrome
1.2.1 添加selenium的jar包
				<!-- Selenium dependency -->
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.141.59</version>
        </dependency>

        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-server</artifactId>
            <version>3.141.59</version>
        </dependency>
1.2.2 下载谷歌浏览器驱动

谷歌浏览器驱动下载

因为我用的是最新的chrome,所以下载的也是暂时最新的驱动,每个驱动对应的谷歌浏览器版本也不一样,你们可以查看相应的文档,查看自己所对应的驱动

下载完驱动之后,将驱动放置于resource目录下的driver文件夹内

1.2.3 加载WebDriver

    /*获取浏览器的连接*/
    public static WebDriver openAccess() {
   
   

        //在idea运行的谷歌驱动路径
        System.setProperty("webdriver.chrome.driver",
                "src/main/resources/driver/chromedriver.exe");
        //打jar包后的谷歌驱动路径
		/*String driverPath = System.getProperty("user.dir")+File.separator+"driver"+ File.separator+"chromedriver.exe";*/
        HashMap<String, Object> chromePrefs = new HashMap<>
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值