欢迎光临
我们一直在努力

AutoTiny键鼠录制+图像识别:循环分支逻辑如何实现全自动操作?

AutoTiny键鼠录制+图像识别:循环分支逻辑如何实现全自动操作?

在自动化办公、游戏挂机或重复性UI测试中,键鼠录制是最基础的功能。但单纯的录制回放只能应对线性流程——一旦界面变化、弹窗出现或操作延迟,脚本就会崩溃。AutoTiny 作为一款轻量级键鼠自动化工具,提供了“录制+图像识别+循环分支”的组合能力,让自动化脚本真正具备“判断力”。本文将深入解析如何利用 AutoTiny 的循环分支逻辑,结合图像识别,构建健壮的全自动操作流程。

一、环境准备

在开始之前,请确保你已安装 AutoTiny(版本 ≥ 2.5.0)。下载地址:[官方 GitHub 仓库](https://github.com/auto-tiny/autotiny) 或官网。

此外,你需要准备:

  • 一个需要自动化的目标应用(如浏览器、游戏窗口)
  • 目标界面的截图(用于图像识别)
  • 基本的逻辑思维(无需编程基础)

AutoTiny 支持 Windows/macOS,本文以 Windows 为例演示。

二、核心概念:录制 ≠ 自动化

很多人误以为“录制=自动化”,但实际录制只是记录鼠标点击、键盘输入和延时。一旦目标界面布局改变(比如按钮位置移动、弹窗出现),录制回放就会错位。

AutoTiny 的解决方案:用图像识别替代固定坐标,用循环分支处理不确定性。

  • 图像识别:通过截图匹配,找到目标元素在屏幕上的实时位置。
  • 循环分支:重复执行某段操作,直到满足条件(如“找到目标图像”或“超时”)。

三、实战:用循环分支+图像识别实现自动签到

假设我们要自动化一个网页的每日签到流程,流程如下:

1. 打开签到页面

2. 点击“签到”按钮(按钮位置可能因浏览器窗口大小变化)

3. 等待“签到成功”弹窗出现

4. 关闭弹窗

5. 重复步骤 2-4,直到今日签到完成(或出现错误)

3.1 录制基础动作

首先,录制一次完整的签到操作:

  • 点击“签到”按钮
  • 等待 2 秒
  • 点击“关闭”按钮

录制完成后,你会得到一个 .json 脚本。但直接回放会失败,因为坐标是写死的。

3.2 用图像识别替代固定坐标

AutoTiny 支持在动作中使用“图像锚点”。例如,将“点击签到按钮”替换为“查找截图【sign_btn.png】并点击”。

操作步骤:

1. 截取“签到”按钮的图像,保存为 sign_btn.png

2. 在 AutoTiny 编辑器中,将鼠标点击动作改为“图像点击”,选择该截图

3. 同理,将“关闭弹窗”改为图像点击,截图保存为 close_btn.png

现在脚本不再依赖坐标,而是通过图像匹配找到按钮位置。

3.3 引入循环分支逻辑

但问题来了:如果签到失败(比如按钮未加载),脚本会卡死。我们需要一个循环结构,反复尝试点击,直到成功或超时。

AutoTiny 的循环分支通过“条件节点”实现。以下是一个伪代码逻辑:

循环开始 (条件:图像 sign_btn.png 存在)

点击图像 sign_btn.png

等待 1 秒

如果 图像 close_btn.png 出现

点击 close_btn.png

跳出循环 (签到成功)

否则

继续循环 (等待按钮再次出现)

循环结束

超时处理:输出日志“签到失败”

在 AutoTiny 中,你可以通过拖拽节点实现:

1. 添加一个 循环 节点,设置循环条件为“图像 sign_btn.png 存在”

2. 在循环体内添加 图像点击 节点

3. 添加 条件判断 节点:检测 close_btn.png 是否存在

4. 若存在,执行点击并添加 跳出循环 节点

5. 若不存在,添加 延迟 节点(如 1 秒),然后自动返回循环头

3.4 完整脚本示例(JSON 格式)

AutoTiny 脚本本质是 JSON 结构,以下是一个简化示例(实际编辑器中无需手写):

{

"version": "2.5",

"actions": [

{

"type": "loop",

"condition": "image_exist",

"image": "sign_btn.png",

"max_attempts": 10,

"timeout": 30,

"body": [

{

"type": "click_image",

"image": "sign_btn.png"

},

{

"type": "delay",

"duration": 1000

},

{

"type": "if",

"condition": "image_exist",

"image": "close_btn.png",

"then": [

{

"type": "click_image",

"image": "close_btn.png"

},

{

"type": "break_loop"

}

],

"else": [

{

"type": "delay",

"duration": 500

}

]

}

]

},

{

"type": "log",

"message": "签到流程完成"

}

]

}

3.5 运行与调试

1. 在 AutoTiny 中导入上述脚本

2. 确保截图文件(sign_btn.png, close_btn.png)位于脚本同目录

3. 点击“运行”,观察控制台输出

如果图像识别失败(如按钮被遮挡),可以调整图像匹配的阈值(默认 0.8,可降低至 0.7)。

四、进阶技巧:多分支与状态机

现实中的自动化往往更复杂,比如:

  • 签到成功 → 关闭弹窗
  • 签到失败 → 重试或跳过
  • 网络错误 → 等待重连

你可以用 嵌套循环 和 全局变量 实现状态机。例如,定义一个变量 status,根据图像识别结果改变状态,然后分支到不同逻辑块。

示例逻辑:

状态 = "等待签到"

循环:

如果 状态 == "等待签到":

查找 sign_btn.png

如果找到: 点击, 状态 = "等待确认"

否则: 等待 2 秒

如果 状态 == "等待确认":

查找 close_btn.png

如果找到: 点击, 状态 = "完成"

否则: 等待 1 秒

如果 状态 == "完成":

跳出循环

这种设计让脚本具备“思考”能力,能应对多种异常情况。

五、总结

AutoTiny 的键鼠录制只是起点,真正的自动化在于循环分支逻辑与图像识别的结合。通过本文的实战,你学会了:

1. 用图像识别替代固定坐标,提升脚本鲁棒性

2. 用循环条件处理重复动作,避免死循环

3. 用条件分支处理不同结果,实现“智能判断”

下一步建议:尝试用 AutoTiny 自动化一个复杂的办公流程(如 Excel 数据处理、邮件发送),你会发现,只要逻辑清晰,全自动操作并非遥不可及。

如果你在实践中有任何问题,欢迎在评论区留言交流。自动化不是魔法,而是逻辑的艺术。

 

🔗 AutoTiny键鼠录制+图像识别:循环分支逻辑如何实现全自动操作?

赞(0)
未经允许不得转载:171主机测评 » AutoTiny键鼠录制+图像识别:循环分支逻辑如何实现全自动操作?
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址