Autoit 制作上传工具完美版
一. 制作上传器
在ui自动化过程中经常遇到需要上传的动作,我们可以使用input标签来送值,但这样不太稳定,所以建议使用autoit制作出来的exe工具。
下面就教大家如何制作上传器,如何使用吧!
新建一个文本文件,命名为uploader.au3,将下面代码复制进去。
这段代码是经过我反复测试的,大家可以放心用哦~
upload() Func upload() WinWait("[CLASS:#32770]","",3) If WinExists("打开") then ControlFocus("打开","","Edit1") Sleep(500) ;输入需要上传的文件路径 ControlSetText("打开", "", "Edit1", $CmdLine[1]) Sleep(500) ;点击【打开】按钮 ControlClick("打开", "","Button1") EndIf ;找不到路径时,会触发确认弹窗,点确认,再点取消,该Button1为确认按钮 Sleep(1000) If WinExists("打开") then ControlClick("打开", "","Button1") EndIf ;路径为空时;或者点过上述的确认弹窗后,不能让它挂在那里,点取消 Sleep(1000) If WinExists("打开") then ControlClick("打开", "","Button2") EndIf EndFunc
二. 转化为可执行的exe软件
使用autoit软件里的 autoit script to exe 工具,选择刚才的uploader.au3脚本进行转化。
三. 测试该exe执行情况
调用exe的执行过程封装在seliky里面了,大家也可以用os模块调用exe。
(注:seliky是我自己发版的库,用起来比较顺心,大家想用的话可以自行安装:pip install seliky -i https://pypi.org/simple)
import time from seliky import WebDriver2 def test_autoit(): """ 在百度识图官网,点击识图按钮,触发系统弹窗,测试上传器执行情况 """ bs = WebDriver2() bs.open_browser() bs.get("https://graph.baidu.com/pcpage/index?tpl_from=pc") bs.click('//span[@class="graph-d20-search-wrapper-camera"]') bs.click('//form[@class="general-upload-imgform"]') uploader_path = 'chrome_uploader.exe' # autoit 上传器测试 bs.upload_with_autoit('', uploader_path) # 路径为空的情况 # bs.upload_with_autoit('d://picture//null.jpg', uploader_path) # 路径错误的情况 # bs.upload_with_autoit('d://picture//girl.jpg', uploader_path) # 路径正常的情况 time.sleep(5) if __name__ == '__main__': test_autoit()
分类:
1. 双自动化+爬虫篇
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架