autoit3是什么?autoit3可以模拟鼠标、键盘、点击,窗口指定等操作。说人话就是:比如一件挺简单的事情,比如两个txt文本复制粘贴,挺简单的事情,但是如果有100组文本要复制粘贴,一次还好,如果每天都做重复这个事情,是个人都会疯的。这个时候使用autoit脚本,编写一个脚本。只要启动脚本,就可以坐在哪刷手机,电脑自动打开t x t文本复制粘贴,类似于xshell脚本也可以实现自动化程序安装。
那么有人会问了,python爬虫也可以做到,而且有的地方可能会更好,这里就要说一下为什么要用au3而不用python爬虫。因为au3学习成本低呀。。。
下面提供几个比较常用的打开程序的一些操作
1、打开程序
Run(“程序路径”)
显而易见,把想启动程序的路径输入进去,比如Run(“d://xxx.exe”)
2、等待程序启动
这一步非常重要,有些比较垃圾的程序启动慢,这一步便可以等程序启动之后再继续走后面的。
WinWait("程序窗口的类名", "程序窗口文本")
程序窗口的类名:使用Au3info.exe工具后”窗口基本信息“中的”类名“
程序窗口文本:字面意思就是窗口随便找一个比较长的文本,越长越好。
使用Au3info.exe工具来查看标题和文本(这个工具一般都是自带的)
那么呈现的就是:WinWait("CabinetWClass", "向上一级区段工具栏")
这样就可以指定这个窗口了。
3、锁定程序窗口
WinActivate("程序窗口的类名", "程序窗口文本")
目的就是为了明确当前选的说那个窗口。
4、单击程序的某个按钮
ControlClick ( "程序窗口的类名", "窗口文本", 控件ID [, 按钮] [, 点击次数]] )
将探测工具的“圈”拖到“清除列表(L)”
程序窗口的类名:使用Au3info.exe工具后”窗口基本信息“中的”类名“
程序窗口文本:字面意思就是窗口随便找一个比较长的文本,越长越好。
控件ID:上图的类名+接口
如下:ControlClick("程序窗口的类名", "程序窗口文本", "DirectUIHWND1")
按钮默认是左键单击,可以是 "left"(左键)、"right"(右键) 或 "middle"(中键)
5、更改输入框里的值
ControlSetText("程序窗口的类名", "窗口文本", "控件ID", "新文本", 标志) ;锁定物品输入框,输入41807
程序窗口的类名:使用Au3info.exe工具后”窗口基本信息“中的”类名“
程序窗口文本:字面意思就是窗口随便找一个比较长的文本,越长越好。
控件id:如上图所示的的高级类名
新文本:输入像输入的文本比如123什么的
标志:[可选参数] 当设置为非0(0为默认),目标窗口将会重画
如下:
ControlSetText( "程序窗口的类名", "窗口文本", "[CLASS:Edit; INSTANCE:1]", "123", 0)
6、ctrl+a全选
Send("^a")
7、ctrl+c复制物品栏的信息
Send("^c")
8、启动txt文本文件
Run(@ComSpec & " /c " & 'start notepad.exe "D:\20200430-1.txt"', "", @SW_HIDE)
一般直接是 run(可执行文件) 即可
但是我的目的是想打开指定路径已经创建好的txt,所用用到了@ComSpec
9、锁定记事本右键一下。
ControlClick("[CLASS:Notepad]", "", "Edit1", "right", 1, 400, 300)
右键是为了像鼠标一样点了一下然后在写入文字
10、粘贴ctrl+v
Send("^p")
这里有人就有疑惑了,ctrl+a是^a,ctrl+c是^c,为什么ctrl+v是^p?刚写autoit3的脚本时,我就单纯的写的^v但是,就是粘不进去,用^p确可以成功