06文字识别
文字识别功能使用教程
概述
文字识别功能是基于文字识别(光学字符识别)技术的智能检测系统,能够识别屏幕上的文字内容并执行相应的操作。系统支持两种主要的动作类型:文字识别->检测 和 文字识别->点击,为自动化脚本提供强大的文字交互能力。
支持的动作类型
文字识别->检测 (
文字识别->检测): 检测屏幕上是否存在指定文字文字识别->点击 (
文字识别->点击): 检测文字并点击其位置
核心特性
高效批量检测: 一次文字识别识别多个目标文字,大幅提升检测效率
智能重试机制: 支持自动重试,提高识别成功率
精确定位控制: 支持ROI区域限制和精确偏移设置
灵活后续操作: 丰富的成功/失败后处理选项
模糊匹配支持: 精确匹配和模糊匹配两种检测模式
核心概念
文字识别技术原理
文字识别(Optical Character Recognition)通过图像处理和机器学习技术,将图像中的文字转换为可编辑的文本数据。
识别流程
截图获取: 捕获当前屏幕画面
图像预处理: 优化图像质量,提高识别准确率
文字定位: 定位图像中的文字区域
字符识别: 将文字区域转换为文本数据
结果匹配: 将识别结果与目标文字进行匹配
性能优化机制
批量文字识别检测:
传统方式: 每个目标单独文字识别 → N次文字识别调用
优化方式: 一次文字识别识别 → 检测所有目标 → 1次文字识别调用
效率提升: N倍性能提升(N为目标数量)
文字识别结果复用:
相同ROI区域的多个目标共享文字识别结果
减少重复识别,提升整体性能
支持结果缓存机制
检测模式对比
| 特性 | 文字识别->检测 | 文字识别->点击 |
|——|—————|—————|
| 主要功能 | 仅检测文字是否存在 | 检测文字并执行点击操作 |
| 返回结果 | 布尔值(存在/不存在) | 点击执行状态 |
| 应用场景 | 状态判断、条件检测 | 界面交互、按钮点击 |
| 配置复杂度 | 相对简单 | 需要额外的点击参数配置 |
| 性能开销 | 低(仅文字识别识别) | 中(文字识别 + 点击操作) |
文字识别->检测 详解
功能概述
文字识别->检测用于判断屏幕上是否存在指定的文字内容,常用于:
状态检测: 判断应用是否处于特定状态
页面识别: 确认当前所在的页面或界面
条件判断: 作为条件流程控制的判断条件
内容验证: 验证特定内容是否出现
基本配置
1. 选择动作类型
在脚本编辑界面中:
点击 “添加动作” 按钮
选择 “文字识别->检测” 动作类型
进入文字识别检测配置界面
2. 检测模式选择
系统提供两种检测模式:
标准模式 (推荐):
识别多个文字目标,找到任意一个即成功
支持批量文字识别检测,性能优化
配置简单,适合大多数场景
多对象组模式 (高级):
多个对象组,每组有独立的检测目标和处理逻辑
详细说明请参考《多对象组功能使用教程》
3. 添加检测目标
文字目标配置:
目标文字: "确定" # 要检测的文字内容
模糊匹配: 关闭 # 是否启用模糊匹配
ROI区域: 可选 # 限制识别区域
添加多个目标:
点击 “添加文字识别目标” 按钮增加新目标
支持同时检测多个不同文字
任意一个目标被找到即认为检测成功
4. ROI区域设置
ROI(Region of Interest)用于限制文字识别的区域,提高识别精度和性能。
配置方式:
起点坐标: X(20%) Y(20%) # 识别区域左上角
终点坐标: X(80%) Y(80%) # 识别区域右下角
说明: 通过两个对角点确定识别区域
数值为屏幕百分比坐标
使用建议:
缩小识别区域可以提高精度
避免包含干扰文字的区域
确保目标文字完全在ROI区域内
配置示例
示例1: 简单状态检测
场景: 检测应用是否显示”登录成功”提示
动作类型: 文字识别->检测
检测模式: 标准模式
文字识别目标1:
目标文字: "登录成功"
模糊匹配: 关闭
ROI区域: 未设置 (全屏检测)
重试机制:
启用重试: 激活
重试次数: 3
检测成功后操作: 无操作
检测失败后操作: 跳转到动作 1
示例2: 多文字状态判断
场景: 检测页面是否加载完成(显示”完成”、”加载完毕”或”ready”任一文字)
动作类型: 文字识别->检测
检测模式: 标准模式
文字识别目标1:
目标文字: "完成"
模糊匹配: 关闭
文字识别目标2:
目标文字: "加载完毕"
模糊匹配: 关闭
文字识别目标3:
目标文字: "ready"
模糊匹配: 关闭
重试机制:
启用重试: 激活
重试次数: 5
检测成功后操作: 跳转到分组 "主要流程"
检测失败后操作: 执行动作组 "页面异常处理"
示例3: 区域限制检测
场景: 仅在屏幕上半部分检测标题文字
动作类型: 文字识别->检测
检测模式: 标准模式
文字识别目标1:
目标文字: "用户中心"
模糊匹配: 关闭
ROI区域:
起点X: 0% 起点Y: 0%
终点X: 100% 终点Y: 50%
重试机制:
启用重试: 激活
重试次数: 2
检测成功后操作: 无操作
检测失败后操作: 无操作
模糊匹配功能
精确匹配 vs 模糊匹配
精确匹配 (默认):
识别文字必须完全等于目标文字
大小写敏感
适合按钮文字、固定标签等
模糊匹配:
识别文字包含目标文字即可
大小写不敏感
适合动态内容、部分文字匹配
使用场景对比
# 精确匹配示例
目标文字: "确定"
识别结果: "确定" → ✅ 匹配成功
识别结果: "确定按钮" → ❌ 匹配失败
识别结果: "CONFIRM" → ❌ 匹配失败
# 模糊匹配示例
目标文字: "确定"
模糊匹配: 激活
识别结果: "确定" → ✅ 匹配成功
识别结果: "确定按钮" → ✅ 匹配成功
识别结果: "点击确定继续" → ✅ 匹配成功
重试机制详解
重试原理
当文字识别识别失败时,系统会自动:
重新截取屏幕画面
再次执行文字识别识别
重复此过程直到成功或达到重试上限
重试策略配置
启用重试: 激活/关闭
重试次数: 1-10 (推荐 3-5 次)
总尝试次数 = 1 + 重试次数
例如: 重试次数设为3,总共会尝试4次
重试间隔
系统在每次重试间会:
等待3秒确保截图完成
重新获取最新的屏幕画面
执行完整的文字识别识别流程
后续操作配置
检测完成后可以配置不同的后续操作:
检测成功后操作
无操作: 仅执行检测,继续下一个动作
执行动作组: 跳转到指定的动作组
跳转到动作: 跳转到脚本中的指定动作编号
跳转到分组: 跳转到脚本中的指定分组
检测失败后操作
提供与成功后操作相同的选项,用于处理识别失败的情况。
配置建议:
成功后操作:继续主要流程
失败后操作:错误处理或重试流程
文字识别->点击 详解
功能概述
文字识别->点击在检测到指定文字后,会自动点击该文字的位置。主要用于:
按钮点击: 点击界面上的文字按钮
菜单选择: 点击菜单项或选项
链接跳转: 点击文字链接
表单操作: 点击输入框、下拉选择等
基本配置
1. 点击偏移设置
由于文字的实际可点击区域可能与文字中心不完全重合,系统提供多种偏移设置:
随机偏移:
点击偏移: 5像素 (推荐)
作用: 在文字中心周围随机偏移,模拟真实用户点击
计算: 随机偏移范围 [-5, +5] 像素
精确偏移:
精确偏移X: 10像素 # 向右偏移10像素
精确偏移Y: -5像素 # 向上偏移5像素
作用: 精确调整点击位置到最佳点击区域
偏移组合:
最终点击位置 = 文字中心 + 精确偏移 + 随机偏移
2. ROI区域设置
与检测功能相同,支持限制识别区域:
提高识别精度
避免误点击其他区域的相同文字
优化性能
配置示例
示例1: 简单按钮点击
场景: 点击”确定”按钮
动作类型: 文字识别->点击
检测模式: 标准模式
文字识别目标1:
目标文字: "确定"
模糊匹配: 关闭
点击偏移: 5像素
精确偏移X: 0像素
精确偏移Y: 0像素
ROI区域: 未设置
重试机制:
启用重试: 激活
重试次数: 3
点击成功后操作: 无操作
点击失败后操作: 跳转到动作 1
示例2: 精确定位点击
场景: 点击导航栏中的”设置”,需要精确偏移避免点击到图标
动作类型: 文字识别->点击
检测模式: 标准模式
文字识别目标1:
目标文字: "设置"
模糊匹配: 关闭
点击偏移: 3像素
精确偏移X: 15像素 # 向右偏移避开图标
精确偏移Y: 0像素
ROI区域:
起点X: 0% 起点Y: 0%
终点X: 100% 终点Y: 20% # 限制在屏幕上方导航区域
重试机制:
启用重试: 激活
重试次数: 2
点击成功后操作: 等待 2秒 (等待页面加载)
点击失败后操作: 执行动作组 "导航异常处理"
示例3: 多选择点击
场景: 在列表中点击任意可用选项(”选择”、”确认”、”OK”)
动作类型: 文字识别->点击
检测模式: 标准模式
文字识别目标1:
目标文字: "选择"
模糊匹配: 关闭
点击偏移: 5像素
文字识别目标2:
目标文字: "确认"
模糊匹配: 关闭
点击偏移: 5像素
文字识别目标3:
目标文字: "OK"
模糊匹配: 关闭
点击偏移: 5像素
重试机制:
启用重试: 激活
重试次数: 3
点击成功后操作: 跳转到分组 "选择完成处理"
点击失败后操作: 执行动作组 "无可选项处理"
点击精度优化
1. 坐标转换机制
系统会自动将识别坐标转换为实际屏幕坐标:
识别坐标 (基于截图) → 屏幕坐标 (基于设备分辨率)
2. 偏移策略
推荐偏移配置:
小按钮: 点击偏移 3-5像素
大按钮: 点击偏移 5-10像素
文字链接: 点击偏移 2-3像素
列表项: 点击偏移 5-8像素
3. ROI区域优化
最佳实践:
按钮区域: 限制在按钮周围区域
菜单项: 限制在菜单范围内
导航栏: 限制在屏幕顶部区域
底部操作: 限制在屏幕底部区域
性能优化策略
批量文字识别优化
优化原理
传统方式:
目标1 → 文字识别调用1 → 识别结果1 → 检查匹配
目标2 → 文字识别调用2 → 识别结果2 → 检查匹配
目标3 → 文字识别调用3 → 识别结果3 → 检查匹配
总计: 3次文字识别调用
优化方式:
(目标1, 目标2, 目标3) → 1次文字识别调用 → 完整识别结果 → 批量检查匹配
总计: 1次文字识别调用
性能提升: 3倍效率提升
自动优化条件
系统会在以下情况自动启用批量优化:
多个目标使用相同的ROI区域
多个目标都是全屏识别
目标数量 ≥ 2个
手动优化建议
合理设置ROI区域,相同区域的目标会自动批量处理
避免过多不必要的独立ROI区域
优先使用标准模式而非多对象组模式
ROI区域优化
性能影响
全屏识别: 100% 区域 → 处理时间 100%
半屏识别: 50% 区域 → 处理时间 ~60%
1/4屏识别: 25% 区域 → 处理时间 ~40%
最佳实践
精确划分: 根据界面布局合理划分ROI区域
避免重叠: 不同功能区域使用不同的ROI
适度限制: 既要包含目标,又要排除干扰
性能平衡: 在精度和性能之间找到平衡点
重试机制优化
重试次数建议
网络应用: 3-5次 (考虑网络延迟)
本地应用: 2-3次 (响应较快)
游戏应用: 3-4次 (界面变化频繁)
系统界面: 2次 (较稳定)
重试间隔设计
系统固定3秒重试间隔,原因:
确保截图服务完成文件写入 (2秒)
预留图像处理时间 (1秒)
避免过于频繁的重试
高级应用场景
场景1: 动态内容检测
业务需求: 检测聊天应用中的新消息提示
# 动作1: 检测新消息
动作类型: 文字识别->检测
检测模式: 标准模式
文字识别目标1:
目标文字: "新消息"
模糊匹配: 激活 # 可能显示为"1条新消息"、"5条新消息"等
文字识别目标2:
目标文字: "unread"
模糊匹配: 激活
ROI区域:
起点X: 70% 起点Y: 0%
终点X: 100% 终点Y: 30% # 限制在右上角通知区域
重试机制:
启用重试: 激活
重试次数: 2
检测成功后操作: 跳转到分组 "处理新消息"
检测失败后操作: 无操作 (继续其他流程)
场景2: 多状态界面适配
业务需求: 适配不同状态的登录界面
# 动作1: 检测当前登录状态
动作类型: 文字识别->检测
检测模式: 标准模式
文字识别目标1:
目标文字: "已登录"
模糊匹配: 关闭
文字识别目标2:
目标文字: "登录成功"
模糊匹配: 关闭
文字识别目标3:
目标文字: "欢迎回来"
模糊匹配: 激活
重试机制:
启用重试: 激活
重试次数: 3
检测成功后操作: 跳转到分组 "主功能区"
检测失败后操作: 跳转到分组 "执行登录"
# 动作2: 执行登录操作
动作类型: 文字识别->点击
检测模式: 标准模式
文字识别目标1:
目标文字: "登录"
模糊匹配: 关闭
点击偏移: 5像素
ROI区域:
起点X: 20% 起点Y: 70%
终点X: 80% 终点Y: 100% # 限制在底部按钮区域
点击成功后操作: 等待 3秒
点击失败后操作: 执行动作组 "登录异常处理"
场景3: 表单自动化填写
业务需求: 自动化表单填写流程
# 动作1: 点击用户名输入框
动作类型: 文字识别->点击
文字识别目标1:
目标文字: "用户名"
点击偏移: 8像素
精确偏移X: 50像素 # 向右偏移到输入框区域
# 动作2: 输入用户名
动作类型: 粘贴
粘贴内容: "myusername"
# 动作3: 点击密码输入框
动作类型: 文字识别->点击
文字识别目标1:
目标文字: "密码"
点击偏移: 8像素
精确偏移X: 40像素
# 动作4: 输入密码
动作类型: 粘贴
粘贴内容: "mypassword"
# 动作5: 点击提交按钮
动作类型: 文字识别->点击
文字识别目标1:
目标文字: "提交"
点击偏移: 5像素
# 动作6: 验证提交结果
动作类型: 文字识别->检测
文字识别目标1:
目标文字: "提交成功"
模糊匹配: 激活
检测成功后操作: 跳转到分组 "提交完成"
检测失败后操作: 执行动作组 "提交失败处理"
错误处理与调试
常见问题诊断
1. 识别失败问题
症状: 文字识别一直无法识别目标文字
可能原因:
文字目标设置错误
ROI区域设置过小或位置错误
屏幕截图质量问题
文字样式特殊(艺术字、特殊字体等)
解决方案:
1. 检查文字目标:
- 确认目标文字拼写正确
- 尝试启用模糊匹配
- 简化文字目标(避免复杂词汇)
2. 调整ROI区域:
- 扩大ROI识别范围
- 验证ROI坐标设置正确
- 尝试全屏识别排除ROI问题
3. 优化截图质量:
- 增加重试次数
- 检查屏幕分辨率设置
- 确认应用界面清晰显示
4. 替代方案:
- 改用图像识别功能
- 使用坐标点击方式
- 调整应用显示设置
2. 点击位置不准确
症状: 识别成功但点击位置偏移
解决方案:
1. 调整点击偏移:
- 减小随机偏移范围
- 设置精确偏移补正
- 测试不同偏移值
2. 优化ROI区域:
- 确保目标文字完全在ROI内
- 避免ROI边界截断文字
- 使用合适的ROI尺寸
3. 检查坐标转换:
- 验证设备分辨率设置
- 检查屏幕缩放比例
- 确认蓝牙连接正常
3. 性能问题
症状: 文字识别识别速度过慢
优化方案:
1. 启用批量优化:
- 合并相同ROI区域的目标
- 减少独立ROI区域数量
- 使用标准模式而非多对象组
2. 优化ROI设置:
- 缩小识别区域范围
- 精确定位目标区域
- 避免全屏识别
3. 调整重试策略:
- 减少不必要的重试次数
- 优化失败后操作流程
- 使用合理的超时设置
调试技巧
1. 日志分析
系统会详细记录文字识别执行过程:
[脚本名] 动作#3 执行文字识别检测操作: 搜索多个文字 ["确定", "OK"]
[脚本名] 文字识别检测区域: 全屏
[脚本名] 开始文字识别识别 - 目标文字: "确定", 模糊匹配: 关闭
[脚本名] 文字识别识别结果: 共找到5个文字元素
[脚本名] 找到匹配文字: 确定 位置: (650, 450)
日志分析要点:
检查文字识别识别是否正常执行
确认识别结果包含期望的文字
验证匹配逻辑是否正确
2. 分步测试
测试流程:
先使用简单的单一目标测试
确认基本功能正常后增加复杂度
逐步添加ROI区域限制
最后调整偏移和重试参数
3. 截图验证
手动检查截图文件验证:
截图是否包含目标文字
文字是否清晰可读
ROI区域是否覆盖目标文字
最佳实践
1. 配置设计原则
简单性原则:
优先使用标准模式
避免过度复杂的ROI设置
使用合理的重试次数
稳定性原则:
选择稳定显示的文字作为目标
避免使用动态变化的内容
设置适当的容错机制
性能原则:
利用批量文字识别优化
合理设置ROI区域
避免不必要的重试
2. 目标文字选择
优选文字特征:
字体清晰,大小适中
对比度高,容易识别
文字内容相对固定
在界面中位置稳定
避免文字特征:
艺术字或特殊字体
颜色过淡或过小的文字
频繁变化的动态内容
容易与背景混淆的文字
3. ROI区域设计
合理划分:
导航栏: X(0-100%) Y(0-15%)
内容区: X(0-100%) Y(15-85%)
操作栏: X(0-100%) Y(85-100%)
侧边栏: X(0-20%) Y(15-85%)
避免问题:
ROI区域过小导致目标文字被截断
ROI区域过大影响识别性能
重叠的ROI区域导致重复识别
4. 后续操作设计
成功后操作:
继续主要业务流程
执行相关的后续动作
跳转到下一个处理阶段
失败后操作:
提供错误恢复机制
重试或替代方案
记录异常情况
与其他功能的协作
1. 与条件流程控制结合
# 条件检测
动作1: 条件流程 (IF_THEN)
检测配置:
检测类型: 文字识别文字检测
检测目标: ["登录成功"]
满足条件时操作: 跳转到分组 "主功能"
# 替代方案
动作2: 文字识别->检测
文字识别目标: "登录成功"
检测成功后操作: 跳转到分组 "主功能"
2. 与循环功能结合
# 循环检测直到成功
动作1: 循环开始
循环次数: 5
动作2: 文字识别->检测
文字识别目标: "加载完成"
检测成功后操作: 跳转到动作 5 (跳出循环)
动作3: 等待 2秒
动作4: 循环结束
动作5: 继续后续流程...
3. 与动作组结合
# 主脚本
动作1: 文字识别->检测
文字识别目标: "需要登录"
检测成功后操作: 执行动作组 "登录流程"
# 动作组 "登录流程"
动作A1: 文字识别->点击
文字识别目标: "登录按钮"
动作A2: 等待 1秒
动作A3: 文字识别->点击
文字识别目标: "用户名输入框"
总结
文字识别功能是自动化脚本中最强大和实用的功能之一,通过合理的配置和使用,可以实现高度智能的文字交互自动化。
关键要点
理解两种模式: 掌握检测和点击模式的差异和应用场景
优化配置参数: 合理设置ROI区域、偏移参数和重试机制
利用性能优化: 充分利用批量文字识别检测提升执行效率
完善错误处理: 设计稳定的成功/失败后处理流程
注重调试验证: 通过日志分析和分步测试确保功能正确性
最佳实践总结
从简单配置开始,逐步增加复杂度
选择稳定清晰的文字作为检测目标
合理设置ROI区域平衡精度和性能
充分利用批量检测优化性能
设计完善的错误处理和恢复机制
正确使用文字识别功能可以让您的自动化脚本更加智能、稳定和高效!