大 纲

通过 AutoIt 实现电脑的自动化操作及批量操作,高效的处理一些重复繁琐操作。

AutoIt v3 是用以编写并生成具有 BASIC 语言风格的脚本程序的免费软件,它被设计用来在Windows GUI(用户界面)中进行自动操作。通过它可以组合使用模拟键击、鼠标移动和窗口/控件操作等来实现自动化任务,而这是其它语言所无法做到或尚无可靠方法实现的(比如VBScript和SendKeys)。

相关站点AutoIt官网 AutoIt在线文档 AutoIt下载页面

第1步 安装及配置 AutoIt

前往 AutoIt 官网,选择最新的版本进行下载安装,本文使用的版本为 3.3.16.1。

编辑工具 SciTE 可根据需要安装中文界面补丁,进入 AutoIt多国语言补丁下载页面 ,点击Chinese 1.73 (Simplified - GB2312)选项进行下载,将文件名修改为locale.properties 并移动至软件安装目录,默认安装目录为:

C:\Program Files (x86)\AutoIt3\SciTE

为避免 SciTE 中显示中文出现乱码,需依次点击SciTE菜单栏:选项 - 打开User Options文件在编辑框中输入如下代码并进行保存。

code.page=936
output.code.page=936
character.set=134

第2步 了解各组件功能

组件名称 组件功能
SciTE 开源文本编辑器,用于编辑自动化代码,并可直接运行代码。
AutoIt Window Info 窗口信息工具,用于获取 windows 系统各项参数及坐标。
Compile Script to .exe 文件转换工具,用于将脚本转换为系统能直接执行的 .exe 文件。
Run Script 执行代码工具,用于执行自动化代码。

第3步 基本操作流程

首先分析需要进行的操作的全流程,找出重复点击、重复输入等可循化的部分,必要时可绘制简易流程图已清晰思路。

打开 SciTE 编辑自动化脚本,使用AutoIt Window Info工具查询窗口、按钮、输入框等位置信息。编辑过程中可在 SciTE 中依次点击菜单栏 工具-执行 执行代码,发现并修复错误。

执行无问题后,使用 Compile Script to .exe工具将脚本转化为.exe可执行文件,方便随时使用。

第4步 常用语句实例

下表为常用的语句,更多操作可访问 AutoIt 在线文档了解。

  1. 增加全局按下PAUSE按钮强制暂停功能
Global $Paused
HotKeySet("{PAUSE}", "TogglePause")
Func TogglePause()
    $Paused = NOT $Paused
    While $Paused
        sleep(100)
        ToolTip('脚本暂停执行',0,0)
    WEnd
    ToolTip("")
EndFunc
  1. 增加全局按下Esc按钮强制退出功能
HotKeySet("{Esc}", "_Exit")
Func _Exit()
Exit
EndFunc
  1. 弹出提示框,需点击确定后继续
MsgBox(64,"操作提示","请使用浏览器打开并登陆“xxxx”,并将窗口最大化。执行完上述操作后鼠标单击“确定”按钮继续。",60)
  1. 增加 1000ms 延迟
Sleep(1000)
  1. 鼠标左键单机操作
MouseClick("left",55,45)
  1. 文本输入操作
Send("12345678")
  1. 循环语句
For $x=1 to 10
  XXXXX
Next
  1. 用户判断操作
$i = MsgBox(36,"操作提示","是否继续执行?(若10秒内无操作将继续运行)",10)
If $i =7 Then
  Exit
Else
EndIf

第5步 常见按键操作

  1. 键盘输入Ctrl+A操作
Send("{CTRLDOWN}");
Send("a");
Sleep(10)
Send("{CTRLUP}");
  1. 关闭键盘大写锁定状态
Send("{SHIFTDOWN}{SHIFTUP}");
  1. 键盘重复输入Del键 8 次
Send("{DEL 8}");
  1. 键盘重复输入 Dela 键 n(变量)次
$n = 8
Send("{DEL " & $n & "}");(适用于按键)
Send("{" & $n & "} a");(适用于 ASCII 字符)
  1. 键盘长按A键 800 毫秒
Send("{CTRLDOWN}");
Send("{a down}");
Sleep(800)
Send("{a up}");
代码 对应按键 代码 对应按键
! Alt {UP} 向上箭头
+ Shift {DOWN} 向下箭头
^ Ctrl {LEFT} 向左箭头
# Windows {RIGHT} 向右箭头
{!} ! {HOME} Home
{#} # {END} End
{+} + {ESC} ESC
{^} ^ {INS} Insert
{{} { {PGUP} PageUp
{}} } {PGDN} PageDown
{SPACE} 空格 {F12} F12功能键
{ENTER} 回车键 {TAB} TAB
{PRINTSCREEN} 截图键 {PAUSE} PAUSE
{LWIN} 左徽标键 {ALTDOWN} 按住 ALT
{RWIN} 右徽标键 {SHIFTUP} 松开 SHIFT
{SCROLLLOCK on} SCROLLLOCK {CTRLDOWN} 按住 CTRL
{CAPSLOCK off} CAPSLOCK {WINDOWN} 按住Windows
{NUMLOCK toggle} NUMLOCK切换 {SLEEP} 系统休眠键

Fn键无法被AutoIt模拟。

第6步 常见窗口控件操作

代码 对应控件操作
{TAB} 切换到(焦点切换)下一个控件(按钮、复选框等)
+{TAB} 切换到上一个控件
^{TAB} 切换到下一个窗口标签
^+{TAB} 切换到上一个窗口标签
{SPACE} 可用来切换复选框的选中状态或点击某个按钮
{+} 选中某个复选框(如果它“确实是”复选框的话)
{-} 取消选中某个复选框
{DOWN} 移动焦点到下一个菜单项
{UP} 移动焦点到上一个菜单项
{LEFT} 切换到左边的菜单或收缩子菜单
{RIGHT} 切换到右边的菜单或展开子菜单