selenium autoit java_selenium+java利用AutoIT实现文件上传

article/2025/9/21 9:57:47

转载自:https://www.cnblogs.com/yunman/p/7112882.html?utm_source=itdadao&utm_medium=referral

1、AutoIT介绍

AutoIT是一个类似脚本语言的软件,利用此软件我们可以方便的实现模拟键盘、鼠标、窗口等操作,实现自动化。

2、实现原理

利用AutoIT编写合适的脚本,然后将脚本编译成可执行文件,在自动化实现时,直接调用此脚本实现文件上传。

备注:编写脚本和编译,需要借助AutoIT提供的工具,但是脚本编译成可执行文件后,可以直接使用,不再需要安装AutoIT。

3、自动化调用

AutoIT脚本编译成可执行文件后,放到本地的某一个目录下

自动化实现过程中,需要上传图片时,首先定位到【上传】字样文本,点击此按钮

执行编辑后的可执行文件,实现文件上传

实例:

假如,要上传图片的页面及html显示如下:

aee220a56fff33757047b39acb4c58f7.png

利用AutoIT编写的脚本编译后的可执行文件的存放目录:E:\upfile.exe

自动化实现代码:

4、AutoIT安装

下载并安装AutoIT,下载链接:https://www.autoitscript.com/site/autoit/

AutoIT安装成功后,可以在开始菜单下看到AutoIT的所有工具,如下图所示:

2d0028cb4592973045a796069d0e4ae9.png

其中 分为几类,AutoIT Window Info用来识别Windows控件,根据识别的控件信息编写脚本;Complie Script to .exe,用来将利用AutoIt编写的脚本,编译成可执行文件;Run Script 用来执行AutoIT的脚本信息;SciTE Script Editor用来编写AutoIt脚本。

接下来就是利用以上四种工具,来编写AutoIT脚本,然后编译成可执行文件

5、利用AutoIT编写脚本

(1)  AutoIt Window Info

打开此工具,利用此工具来识别Windows控件信息,如输入框、按钮等。

此工具打开的界面显示:

ecab957c3008e00ab4de2ac8da83386e.png

用鼠标拖住工具上的Finder Tool的图标(即图中蓝色圈圈部分)到要识别的控件上,控件的唯一标识信息会显示在工具的左侧部分(图中红框标出的部分)。

从显示的结果得知,此控件的Title=“打开”,Class为Button,Instance=1。我们就是利用控件的这些信息,定位控件,编写脚本。

(2) SciTE Script Editor

根据以上所识别的空间信息,利用此编辑器,利用此软件根据AutoIT的语法编写脚本。

附实现文件上传需要的几个方法:

ControlFocus ( "窗口标题", "窗口文本", 控件ID)   设置输入焦点到指定窗口的某个控件上(即:控件ID“文件名”输入框的id)

WinWait ( "窗口标题" [, "窗口文本" [, 超时时间]] )  暂停脚本的执行直至指定窗口存在(出现)为止

ControlSetText ( "窗口标题", "窗口文本", 控件ID, "新文本" )   修改指定控件的文本(即:控件ID“文件名”输入框的id)

Sleep ( 延迟 )   使脚本暂停指定时间段

ControlClick ( "窗口标题", "窗口文本", 控件ID [, 按钮] [, 点击次数]] )  向指定控件发送鼠标点击命令(即:控件ID“打开”按钮的id)

其中,title即AutoIt Window Info识别出的Title字段,controlID即AutoIt Window Info识别出的Class和Instance的拼接,如上图拼接后的结果应为:Button1

实例:

1832fbad7a89f0252eabc272449d4769.png

48304ba5e6f9fe08f3fa1abda7d326ab.png

ControlFocus("打开","","Edit1")

;识别windows窗口

WinWait("[CLASS:#32770]","",10)

;窗口等待十秒

ControlSetText("打开", "", "Edit1", "C:\Users\vivo\Desktop\award_code_template5.xls")

;想输入框中输入需要上传的地址

Sleep(2000)

ControlClick("打开", "","Button1");

;点击[打开】按钮

48304ba5e6f9fe08f3fa1abda7d326ab.png

AutoIT脚本编写完成后,保存后才可以通过菜单栏“Tools”-->“Go” 运行一下脚本。注意,运行的时候,上传窗口需处于打开状态。

6、AutoIT脚本编译成可执行文件

脚本编辑运行无误后,将其保存。然后打开Complie Script to .exe工具,将保存的脚本编译成exe可执行文件。

b738f8ba86b8266d1fdbd20279084cac.png

点击“Browse”选择保存的脚本文件,点击“Convert”将其生成exe文件。

48304ba5e6f9fe08f3fa1abda7d326ab.png

driver.findElement(By.name("uploadFile")).click();

//点击选择文件按钮

Thread.sleep(3000);

//设置等待3秒

Runtime exe =Runtime.getRuntime();

//Java 的Runtime 模块的getruntime.exec()方法可以调用exe 程序并执行。

try{

String str = "E://upload.exe";

exe.exec(str);

//运行指定位置的.exe文件

} catch(IOException e) {

System.out.println("Error to run the exe");

e.printStackTrace();

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

至此,利用AutoIT实现图片上传的流程结束。


http://chatgpt.dhexx.cn/article/elK63TAd.shtml

相关文章

autoIT 自动化上传/下载文件图文详解【python selenium】

情景: 在用selenium进行web页面自动化时,时不时会遇到上传附件的情况,常见的情况就是一个上传按钮,点击后弹出windows窗口,选择文件后上传,如下图1所示 图1 这种情况超出了selenium的能力范围,需…

AutoIt介绍

AutoIt的下载网址: https://www.autoitscript.com/site/autoit/downloads/ AutoIt在线文档:http://www.autoit3.cn/Doc/ AutoIt的优势: 简单易懂的类BASIC 表达式模拟键盘,鼠标动作事件操作窗口与进程直接与窗口的”标准控件”交互(设置/获…

AutoIt的应用

少数情况下需要操作系统级的弹窗,可以使用AutoIt。 AutoIt现在最新版是V3版本,这是一个类似BASIC脚本语言的免费软件,用于Windows GUI中进行自动化操作。利用模拟键盘按键,鼠标移动,窗口和控件的组合来实现自动化任务…

java 调用autoit_java和autoit连接

autoit可以实现本机文件的上传,修改,新建,也可以实现网页上文件下载到本地 连接步骤: (1)下载autoitx4java 包,地址在code.google.com/p/autoitx4java。解压后直接将jar包添加到工程里面。然后需要使用jacob包&#xf…

AutoIt在线使用手册地址

AutoIt 在线文档https://autoitx.com/Doc/

AutoIt3.0

autoIt主要用于窗口自动化,结合python,可解决web自动化,页面调出窗口的问题 autoIt脚本代码例子: 1.打开Windows 任务管理器 2.依次点击【应用程序、进程、服务、性能、联网、用户】按钮 3.再次点击应用程序按钮 4.点选第二个…

Python + Selenium + AutoIt 模拟键盘实现另存为、上传、下载操作详解

前言 在web页面中,可以使用selenium的定位方式来识别元素,从而来实现页面中的自动化,但对于页面中弹出的文件选择框,selenium就实现不了了,所以就需引用AutoIt工具来实现。 AutoIt介绍 AutoIt简单介绍下&#xff0c…

autoit 下载图片验证码

autoit 下载图片验证码 自动化测试中,我做了验证码识别的功能,那么接下来就是怎么获取验证码图片了,还好autoit 里面提供了一些方法。下面就介绍一下怎样利用autoit 下载验证码图片: 先说思路: 右键点击验证码 使用…

获取硬盘序列号的真正方法!!

最近要获取磁盘的序列号,在网上找了很久发现大部分都是通过diskpart来查询 这种查询方法只是查询的磁盘的id 真正查询磁盘序列号应该使用下面方法:wmic diskdrive get serialnumber 打开cmd后输入 serialNumber下面的就是硬盘序列号

如何查询硬盘序列号?百度基本都是错的,其实一条命令搞定!

百度上答案不知是不懂还是怎么着,都是通过diskpart -->detail disk查询,查出来的是磁盘ID,不是序列号! 其实查询磁盘序列号方式很简单: 1.Win R打开 “运行” ,在 运行 中输入“cmd”,然后…

手动查询硬盘序列号

win7旗舰版1. 开始-运行-输入:wbemtest 回车 2. 单击"连接", 输入:root\cimv2 回车; 或者ROOT\SecurityCenter 3. 单击"查询", 输入:select * from Win32_PhysicalMedia 应用,出来三个,我这第一…

怎么查询电脑的磁盘序列号和各种硬件信息(Windows系统)

之前实习时遇到过这种情况,听说国家保密局要统计高校领导办公电脑的磁盘信息,防止信息泄露,就让我和同事就统计磁盘的序列号,很简单,就是电脑太多,统计速度太慢啦,都是Windows系统,没…

查看硬盘序列号的方法 和查看设备序列号的方法

查看硬盘序列号 wmic diskdrive get serialnumber 显示的就是序列号了 查看设备序列号 wmic bios get serialnumber

怎么看计算机的硬盘牌子,硬盘序列号,详细教您怎么查看硬盘序列号

有的时候在一些非常时期,我们会需要知道硬盘的序列号,那么这个时候我们要怎么查看电脑的硬盘序列号呢?不慌,稳住。小编现在就带你们打破地方水晶!!接下来我就来告诉你们怎么查看电脑硬盘序列号。 小伙伴们&…

Windows查询计算机设备序列号、MAC地址和硬盘序列号

1 进入命令提示符 搜索cmd,以管理员身份打开命令提示符 2 查询设备序列号 输入命令 wmic bios get serialnumber返回的字符串即为设备序列号(SerialNumber) 3 查询MAC地址 输入命令 ipconfig /all 返回物理地址即为所需MAC地址 需要…

如何查看计算机的硬盘序列号,电脑硬盘序列号怎么查?一招查看硬盘序列号的简单方法...

好多网友想知道自己电脑硬盘序列号是多少?这该怎么查看?硬盘的序列号是一个唯一的识别号,我们安装一些大型的开发软件时都会用到。其实查看硬盘序列号的方法很简单,今天小编教大家一招查看电脑硬盘序列号的简单方法。 具体方法如下&#xff1…

硬盘序列号、设备序列等查询

1.硬盘序列号查询。 1)Windowsr,输入cmd 回车 2)输入diskpart,回车 3)输入list disk,回车 4)输入select disk *(可选),回车 5)输入detail disk,回车结束。 2.ip(mac)地…

windows10如何查看硬盘序列号

使用命令提示符 点击任务栏搜索框或搜索图标,搜索命令提示符并以管理员身份将其打开。 运行命令:wmic diskdrive get model,name,serialnumber ,按Enter键。您将看到列出的连接到计算机的所有硬盘驱动器的型号,名称和序列号。

磁盘序列号,磁盘ID,卷序列号的区别

1. 磁盘序列号 这个东西可以硬盘标签上看到,可查找SN字样,为厂家确定,类似mac地址,属于唯一属性,与OS无关,即使格式化硬盘也不会改变。 windows查看命令:wmic diskdrive get serialnumber 2…

windows查看硬盘序列号

目录 1、打开cmd命令提示,输入diskpart2、输入list disk,查看硬盘基本信息3、输入select disk 0、查看磁盘0信息4、输入detail disk,查看磁盘序列号 按下windowsr,输入cmd打开命令提示 1、打开cmd命令提示,输入diskpa…