Selenium关闭windows系统弹窗
背景:在使用某业务时,会弹出windows框 提示要打印某个文本,效果如下,而正常脚本执行完了后,关闭了driver,windows的弹框还是不会消失,这时需要做善后工作,关掉window弹框:
用到的工具是autoit的工具,因为目前selenium能解决windows弹框的就只有autoITt工具,可实现上传,也可操作windows弹框
1.先捕获需要关闭的窗口
使用工具定位下,我的目的是只要点击取消按钮就成功了,操作与上传附件相同,现在拖动那个像光盘的东西,到需要定位的按钮上
2.编写脚本,因为我现在的情况点击取消了之后,还会在弹一个相同的框,所以加了延时
脚本中需要用到两个东西,一个是title,一个是classnameNN,就是下面这两个内容
ControlClick("打印成PDF文件 - 福昕PDF打印机", "","Button3"); Sleep(4000) ControlClick("打印成PDF文件 - 福昕PDF打印机", "","Button3");
3.运行脚本,没问题,编译成exe文件,写入到项目中
在顶部工具栏上tool上按GO,或者F5,运行,可以直接把我的弹框给关闭掉,说明定位成功,可以生成exe了,使用这个工具
4.Java项目中引用方式为
生成exe后,在项目driver关闭后,执行为,
omscloseServer.exe就是我编译后的exe,前面一大堆就是为了获取项目名称
String fileUrl=new File("").getAbsolutePath()+"\\resources\\omscloseServer.exe"; Log.logInfo("调用的exe的地址路径为:"+fileUrl); Runtime.getRuntime().exec(fileUrl);