只有当我们遇到了input类型的上传的时候 我们直接可以使用send_keys去输入图片的路径以到达上传图片的效果
这里我们遇到的是button类型的上传
AutoIT安装
下载并安装AutoIT,下载链接:https://www.autoitscript.com/site/autoit/
AutoIT安装成功后,可以在开始菜单下看到AutoIT的所有工具,如下图所示:
其中分为几类,AutoIT Window Info用来识别Windows控件,根据识别的控件信息编写脚本;Complie Script to .exe,用来将利用AutoIt编写的脚本,编译成可执行文件;Run Script 用来执行AutoIT的脚本信息;SciTE Script Editor用来编写AutoIt脚本。
接下来就是利用以上四种工具,来编写AutoIT脚本,然后编译成可执行文件
2、利用AutoIT编写脚本
(1) AutoIt Window Info
打开此工具,利用此工具来识别Windows控件信息,如输入框、按钮等。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200803085433655.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5ODM3NDkx,size_16,color_FFFFFF,t_70)
此工具打开的界面显示:
用鼠标拖住工具上的Finder Tool的图标(即图中蓝色圈圈部分)到要识别的控件上,控件的唯一标识信息会显示在工具的左侧部分(图中红框标出的部分)。
从显示的结果得知,此控件的Title=“打开”,Class为Button,Instance=1。我们就是利用控件的这些信息,定位控件,编写脚本。
(2) SciTE Script Editor
根据以上所识别的空间信息,利用此编辑器,利用此软件根据AutoIT的语法编写脚本。
附实现文件上传需要的几个方法:
ControlFocus ( "窗口标题", "窗口文本", 控件ID) 设置输入焦点到指定窗口的某个控件上
WinWait ( "窗口标题" [, "窗口文本" [, 超时时间]] ) 暂停脚本的执行直至指定窗口存在(出现)为止
ControlSetText ( "窗口标题", "窗口文本", 控件ID, "新文本" ) 修改指定控件的文本
Sleep ( 延迟 ) 使脚本暂停指定时间段
ControlClick ( "窗口标题", "窗口文本", 控件ID [, 按钮] [, 点击次数]] ) 向指定控件发送鼠标点击命令
其中,title即AutoIt Window Info识别出的Title字段,controlID即AutoIt Window Info识别出的Class和Instance的拼接,如上图拼接后的结果应为:Button1
实例:
AutoIT脚本编写完成后,可以通过菜单栏“Tools”–>“Go” 运行一下脚本。注意,运行的时候,上传窗口需处于打开状态。
3.AutoIT脚本编译成可执行文件
脚本编辑运行无误后,将其保存。然后打开Complie Script to .exe工具,将保存的脚本编译成exe可执行文件。
点击“Browse”选择保存的脚本文件,点击“Convert”将其生成exe文件。
至此,利用AutoIT实现图片上传的流程结束。
参考文档:
https://www.cnblogs.com/peachh/p/9739915.html
https://www.cnblogs.com/fnng/p/4188162.html