AutoIT +webdriver自动化上传文件
AutoIT 是类似于 Basic 脚本语言的免费软件,利用它我们可以实现对 windows 的 GUI 界面进行自动化操作
官网地址:https://www.autoitscript.com/site/autoit/
强烈建议先去看官方文档:https://www.autoitscript.com/autoit3/docs/,对工具的使用和脚本编写语法描述的非常详细
step1:下载安装
下载页面在这里:https://www.autoitscript.com/site/autoit/downloads/
点击下载即可,下载完下一步直到安装完毕
安装完毕会有如下几个应用:
其中我们用得到的有:
AutoIT Window Info 识别 Windows 元素信息
Complie Script to .exe 将 AutoIT 编写的脚本编译成 exe 可执行文件
Run Script 运行 AutoIT 脚本
SciTE Script Editor 编写 AutoIT 脚本
注意:官方推荐使用 X86 版本,这样兼容性问题会少些
step2:使用 AutoIT
将上传的 Windows 窗口打开
打开 AutoIT Window Info 工具,Finder Tool 下的图标一直按住,选择窗口中要识别的元素(文件名后面的输入框以及打开按钮),分别记录下此时的 Tile、Class 等信息
打开 SciTE Script Editor,开始进行脚本编写(注意元素的定位是由 Class 和 Instance 进行拼接的,如 Class 为 Edit,Instance 为 1,那么定位表达式为 Edit1)
;等待“打开”窗口
WinWaitActive(“打开”)
;休眠2秒
Sleep(1000)
;在输入框中写入上传文件的路径
ControlSetText(“打开”, “”, “Edit1”, “E:\cat.jpg”)
;休眠2秒
Sleep(1000)
;点击打开按钮
ControlClick(“打开”, “”,“Button1”);
选择工具栏上面的 Tools-Go 先去运行下脚本,试运行 OK 之后将脚本保存,后缀为 au3
选择 Complie Script to .exe 工具把脚本编译为 exe 文件
Java 代码本地执行 exe 文件
System.setProperty("webdriver.chrome.driver","resources\\chromedriver.exe");
ChromeDriver driver = new ChromeDriver();
driver.get("https://www.layui.com/demo/upload.html");
Thread.sleep(1000);
driver.findElementByXPath("//button[@id='test1']").click();
// Thread.sleep(000);
//Java运行时对象
Runtime runtime = Runtime.getRuntime();
try {
//执行
runtime.exec("C:\\Users\\shasha\\Desktop\\test.exe");
}catch (IOException e){
e.printStackTrace();
}