📚 知识库

01 点击功能

作者: aklai 更新时间: 2026-01-13 02:07 浏览次数: 121

点击动作使用教程

概述

点击动作是脚本系统中最基础也是最重要的操作类型之一。它允许用户模拟手指在屏幕上的点击操作,通过蓝牙连接发送精确的触摸指令到目标设备。

支持的功能特性

  • 百分比坐标系统: 使用0-100的百分比坐标,适配不同分辨率设备
  • 随机偏移: 支持随机偏移量,增加操作的自然性
  • 精确坐标转换: 自动处理屏幕参数和坐标转换
  • 蓝牙传输: 通过蓝牙协议发送点击指令

核心概念

坐标系统

参数 类型 范围 说明
X坐标 百分比 0-100 水平位置,0表示最左边,100表示最右边
Y坐标 百分比 0-100 垂直位置,0表示最顶部,100表示最底部
随机偏移 像素值 ≥0 在指定范围内随机偏移,单位为像素

工作原理

  1. 输入处理: 接收用户输入的百分比坐标和偏移参数
  2. 坐标转换: 将百分比坐标转换为设备实际像素坐标
  3. 偏移计算: 应用随机偏移量(如果设置)
  4. 范围检查: 确保最终坐标在屏幕有效范围内
  5. 指令发送: 通过蓝牙发送触摸指令到目标设备

配置界面

基本配置

在脚本编辑器中选择”点击”动作类型后,将显示以下配置选项:

1. X坐标(百分比)

输入说明: - 取值范围:0-100 - 数据类型:数字 - 必填项:是 - 示例值:50(表示屏幕水平中心位置)

含义解释: - 0: 屏幕最左边 - 50: 屏幕水平中心 - 100: 屏幕最右边

2. Y坐标(百分比)

输入说明: - 取值范围:0-100 - 数据类型:数字 - 必填项:是 - 示例值:30(表示屏幕上方30%的位置)

含义解释: - 0: 屏幕最顶部 - 50: 屏幕垂直中心 - 100: 屏幕最底部

3. 随机偏移量

输入说明: - 取值范围:≥0 - 数据类型:整数 - 必填项:否 - 默认值:0 - 单位:像素

功能说明: - 设置为0:精确点击指定坐标 - 设置为正值:在指定坐标周围随机偏移 - 偏移计算:在[-偏移量, +偏移量]范围内随机选择X和Y的偏移值

坐标转换机制详解

核心转换流程

点击动作的坐标转换是一个复杂但精确的过程,涉及多个屏幕参数的计算:

1. 屏幕参数获取

设备实际分辨率(bitmap): 获取当前设备的真实屏幕分辨率
实际显示宽度(actual): 考虑黑边等因素的实际可用宽度  
左边距(leftPadding): 显示区域的左侧偏移量
目标屏幕(target): 目标设备的标准分辨率 (2160x1080)

2. X坐标转换过程

步骤1: 应用随机偏移
  实际百分比 = 原始百分比 + 偏移百分比

步骤2: 转换为设备像素
  设备X = (实际百分比 / 100) × 设备实际宽度

步骤3: 减去左边距
  调整后X = 设备X - 左边距

步骤4: 按比例转换到目标屏幕
  最终X = (调整后X / 实际显示宽度) × 目标屏幕宽度

3. Y坐标转换过程

步骤1: 应用随机偏移
  实际百分比 = 原始百分比 + 偏移百分比

步骤2: 直接转换
  最终Y = (实际百分比 / 100) × 目标屏幕高度

4. 安全范围处理

最终坐标 = (
  X: min(max(最终X, 0), 目标屏幕宽度),
  Y: min(max(最终Y, 0), 目标屏幕高度)
)

转换示例

场景: 点击屏幕中心,偏移量为50像素

输入参数: - X坐标: 50% - Y坐标: 50%
- 随机偏移: 50

假设设备参数: - 设备实际分辨率: 1920×1080 - 实际显示宽度: 1800 - 左边距: 60 - 目标屏幕: 2160×1080

计算过程:

X坐标转换:
1. 随机偏移: 假设生成偏移为+30像素
   偏移百分比 = 30/2160*100 ≈ 1.39%
   实际百分比 = 50% + 1.39% = 51.39%

2. 设备像素: (51.39/100) × 1920 ≈ 987

3. 减去左边距: 987 - 60 = 927

4. 转换到目标: (927/1800) × 2160 ≈ 1113

Y坐标转换:
1. 随机偏移: 假设生成偏移为-20像素
   偏移百分比 = -20/1080*100 ≈ -1.85%
   实际百分比 = 50% - 1.85% = 48.15%

2. 最终Y: (48.15/100) × 1080 ≈ 520

最终坐标: (1113, 520)

使用场景

1. 基础点击操作

场景描述: 点击应用中的按钮、图标等固定位置元素

配置示例: - X坐标: 50 - Y坐标: 80 - 随机偏移: 0

适用情况: - 界面布局相对固定 - 目标元素位置稳定 - 需要精确点击

2. 自然化点击

场景描述: 模拟人工操作,增加随机性避免被检测

配置示例: - X坐标: 50 - Y坐标: 30 - 随机偏移: 20

适用情况: - 需要模拟真实用户行为 - 避免机器化操作痕迹 - 目标区域较大,允许一定偏差

3. 区域性点击

场景描述: 点击较大的可点击区域,如列表项、卡片等

配置示例: - X坐标: 75 - Y坐标: 45 - 随机偏移: 30

适用情况: - 目标区域面积较大 - 精确位置不重要 - 增加操作的随机性

4. 多位置轮换

场景描述: 配合循环或条件判断,在多个位置之间切换点击

配置示例:

位置1: X=25, Y=50, 偏移=10
位置2: X=75, Y=50, 偏移=10  
位置3: X=50, Y=25, 偏移=10

适用情况: - 需要点击多个相似元素 - 避免固定模式的操作 - 实现更复杂的交互逻辑

配置实例

实例1: 精确点击登录按钮

需求: 点击应用登录界面的登录按钮

分析: - 登录按钮通常位于屏幕下方中心位置 - 需要精确点击,不需要偏移

配置:

动作类型: 点击
X坐标: 50
Y坐标: 85
随机偏移: 0
备注: 点击登录按钮

执行效果: 精确点击屏幕下方85%位置的中心点

实例2: 自然化点击搜索框

需求: 点击搜索框准备输入内容

分析: - 搜索框通常位于屏幕上方 - 区域较大,可以适当偏移增加自然性

配置:

动作类型: 点击
X坐标: 50
Y坐标: 15
随机偏移: 25
备注: 点击搜索框

执行效果: 在搜索框区域内随机位置点击,模拟真实用户行为

实例3: 点击列表项目

需求: 点击列表中的某个项目

分析: - 列表项通常较宽 - 可以在项目范围内随意点击

配置:

动作类型: 点击
X坐标: 60
Y坐标: 40
随机偏移: 40
备注: 点击列表第3项

执行效果: 在列表项区域内随机点击,确保能够选中目标项

实例4: 游戏操作点击

需求: 在游戏中点击技能按钮

分析: - 游戏按钮位置相对固定 - 需要快速响应,偏移不宜过大

配置:

动作类型: 点击
X坐标: 85
Y坐标: 70
随机偏移: 15
备注: 释放技能1

执行效果: 在技能按钮周围小范围内点击,保证准确性的同时增加少量随机性

执行机制详解

执行流程

点击动作的完整执行流程如下:

1. 参数验证

验证阶段:
- 检查X、Y坐标是否在0-100范围内
- 验证随机偏移量是否为非负数
- 确保必填参数已正确填写

2. 日志记录

记录内容:
- 开始执行点击操作的时间戳
- 输入的原始坐标和偏移参数
- 当前屏幕参数信息

3. 屏幕参数获取

获取信息:
- 目标设备屏幕分辨率 (2160×1080)
- 当前设备实际分辨率
- 显示区域的左边距和实际宽度

4. 偏移计算

随机偏移计算:
- 如果设置了偏移量,生成随机偏移值
- X偏移: 随机(-偏移量, +偏移量)
- Y偏移: 随机(-偏移量, +偏移量)
- 将像素偏移转换为百分比偏移

5. 坐标转换

转换步骤:
- 应用随机偏移到原始百分比坐标
- 转换为设备实际像素坐标
- 处理屏幕边距和缩放比例
- 转换为目标设备坐标系

6. 安全检查

范围限制:
- 确保X坐标在[0, 屏幕宽度]范围内
- 确保Y坐标在[0, 屏幕高度]范围内
- 防止坐标越界导致的异常

7. 指令发送

蓝牙传输:
- 调用蓝牙视图模型发送触摸指令
- 传输最终计算的坐标信息
- 等待指令执行完成

8. 执行延迟

后续处理:
- 执行100毫秒延迟确保指令完成
- 记录执行完成日志
- 为下一个动作做准备

性能特性

执行速度: - 坐标计算: ~1ms - 蓝牙传输: ~10-50ms - 总执行时间: ~100-200ms

准确性: - 坐标精度: 像素级 - 转换误差: <1像素 - 成功率: >99%

稳定性: - 支持连续快速点击 - 自动处理坐标越界 - 蓝牙连接异常保护

调试和日志

日志信息

点击动作执行时会生成详细的日志信息,帮助调试和监控:

1. 基本执行日志

动作#1 执行点击操作: (50%, 30%) 偏移: 20px
开始执行点击操作 - 输入坐标: (50%, 30%), 偏移: 20px
屏幕参数 - 宽度: 2160px, 高度: 1080px, 左边距: 60px, 实际宽度: 1800px

2. 偏移计算日志

随机偏移计算 - X偏移: +1.23%, Y偏移: -0.87%

3. 坐标转换日志

X坐标计算 - 应用偏移后百分比: 51.23% -> 设备X: 984
X坐标转换 - (984 - 60) / 1800 * 2160 = 1111
Y坐标计算 - 应用偏移后百分比: 29.13% -> 设备Y: 315
最终坐标 - 安全范围处理: (1111, 315) -> (1111, 315)

4. 执行状态日志

发送蓝牙点击命令 - 坐标: (1111, 315)
点击命令已发送,等待执行完成
点击操作执行完成

5. 详细调试日志(Debug模式)

执行点击操作:
|----------------------------------------
|基础参数:
|输入坐标: x=50%, y=30%
|设备实际分辨率: 1920x1080
|实际宽度: 1800, 左边距: 60
|目标屏幕: 2160x1080
|----------------------------------------
|X轴计算过程:
|1. 原始百分比: 50%
|2. 偏移百分比: +1.23%
|3. 实际百分比: 51.23%
|4. 设备实际X: (51.23% * 1920) = 984
|5. 减去左边距: 984 - 60 = 924
|6. 转换比例: 924 / 1800 = 0.513
|7. 最终X: 0.513 * 2160 = 1111
|----------------------------------------
|Y轴计算过程:
|1. 原始百分比: 30%
|2. 偏移百分比: -0.87%
|3. 实际百分比: 29.13%
|4. 最终Y: 29.13% * 1080 = 315
|----------------------------------------
|最终结果:
|安全范围处理后坐标: (1111, 315)
|----------------------------------------

调试技巧

1. 坐标验证

  • 先使用偏移量为0测试精确坐标
  • 逐步增加偏移量观察效果
  • 使用截图功能验证点击位置

2. 性能监控

  • 观察执行时间是否正常
  • 检查蓝牙连接状态
  • 监控内存和CPU使用情况

3. 错误排查

  • 检查坐标是否在有效范围内
  • 验证设备屏幕参数设置
  • 确认蓝牙连接稳定性

最佳实践

1. 坐标选择原则

精确性 vs 稳定性: - 对于小目标(如按钮),使用精确坐标,偏移量5-15 - 对于大目标(如列表项),使用中心坐标,偏移量20-40 - 对于不重要位置,可以使用更大的偏移量

屏幕适配: - 优先选择相对位置而非绝对位置 - 考虑不同屏幕比例的适配性 - 避免选择边角位置,留出安全边距

2. 偏移量设置策略

自然化考虑: - 模拟人手点击:10-30像素偏移 - 快速操作:5-15像素偏移
- 休闲操作:20-50像素偏移

目标大小匹配: - 小按钮(40px以下): 偏移0-10 - 中等按钮(40-100px): 偏移10-25 - 大区域(100px以上): 偏移25-50

3. 性能优化

减少计算开销: - 批量点击时复用屏幕参数 - 避免频繁的坐标转换计算 - 合理设置执行间隔

提高成功率: - 为关键操作设置重试机制 - 结合文字识别/图像识别进行动态定位 - 使用条件判断确认点击效果

4. 维护和调试

配置文档化: - 为每个点击动作添加清晰的备注 - 记录坐标选择的原因和依据 - 维护坐标和界面元素的映射关系

版本兼容性: - 定期测试不同设备的兼容性 - 关注应用界面更新对坐标的影响 - 建立坐标配置的版本管理

故障排除

常见问题

1. 点击位置不准确

问题现象: 点击偏离预期位置

可能原因: - 屏幕参数配置错误 - 坐标百分比计算有误 - 设备分辨率与预期不符

解决方案:

检查步骤:
1. 验证设备屏幕分辨率设置
2. 检查显示区域参数配置
3. 使用调试日志查看坐标转换过程
4. 测试已知位置的点击效果

调整方案:
1. 重新校准屏幕参数
2. 调整百分比坐标值
3. 减少随机偏移量
4. 使用截图辅助定位

2. 蓝牙指令发送失败

问题现象: 点击动作无响应

可能原因: - 蓝牙连接中断 - 目标设备无响应 - 指令格式错误

解决方案:

检查步骤:
1. 确认蓝牙连接状态
2. 测试其他蓝牙指令是否正常
3. 检查设备配对状态
4. 查看错误日志信息

修复方案:
1. 重新建立蓝牙连接
2. 重启蓝牙服务
3. 检查设备兼容性
4. 更新蓝牙驱动

3. 坐标越界

问题现象: 坐标超出屏幕范围

可能原因: - 输入坐标超过100% - 随机偏移量过大 - 屏幕参数异常

解决方案:

预防措施:
1. 使用0-100范围检查
2. 合理设置偏移量上限
3. 添加坐标范围验证
4. 实现自动边界裁剪

修复方法:
1. 调整输入坐标值
2. 减少随机偏移量
3. 检查屏幕参数设置
4. 使用安全坐标范围

4. 执行延迟过长

问题现象: 点击响应速度慢

可能原因: - 蓝牙通信延迟 - 系统性能不足 - 目标设备处理慢

解决方案:

优化策略:
1. 检查蓝牙信号强度
2. 关闭不必要的后台程序
3. 调整执行间隔设置
4. 使用更高效的指令格式

性能调优:
1. 减少日志输出级别
2. 批量处理相似操作
3. 优化坐标计算算法
4. 使用异步执行模式

高级用法

1. 配合其他动作

与等待动作结合:

动作序列:
1. 点击(启动应用按钮)
2. 等待(3秒,等待应用启动)
3. 点击(登录按钮)

与文字识别检测结合:

智能点击流程:
1. 文字识别检测(查找"登录"文字)
2. 点击(文字识别检测成功后的跳转动作)
3. 等待(1秒)
4. 文字识别检测(确认登录成功)

与循环结合:

批量操作:
1. 循环开始(5次)
2. 点击(列表项位置)
3. 等待(0.5秒)
4. 点击(下一项按钮)
5. 循环结束

2. 动态坐标策略

基于时间的坐标变化: - 根据执行时间调整点击位置 - 模拟用户习惯的位置偏好变化 - 避免固定模式被检测

基于条件的坐标选择: - 根据文字识别检测结果选择不同坐标 - 基于图像识别匹配结果动态调整 - 实现智能的位置选择逻辑

3. 批量点击优化

坐标预计算:

// 预先计算多个点击位置
val clickPositions = listOf(
    Pair(25, 30), Pair(75, 30),
    Pair(25, 70), Pair(75, 70)
)

智能间隔控制:

间隔策略:
- 快速点击: 100-200ms
- 正常点击: 300-500ms  
- 缓慢点击: 1000-2000ms

4. 错误恢复机制

自动重试:

重试配置:
- 最大重试次数: 3
- 重试间隔: 1秒
- 失败后动作: 跳转到错误处理分组

状态检查:

点击后验证:
1. 点击动作
2. 等待(0.5秒)
3. 文字识别检测(验证点击效果)
4. 条件判断(成功/失败处理)

总结

点击动作是脚本自动化的核心组件,通过精确的坐标系统和灵活的配置选项,可以实现各种复杂的交互需求。掌握点击动作的配置和使用技巧,是构建高效自动化脚本的基础。

关键要点

  1. 理解坐标系统: 掌握百分比坐标和像素转换的原理
  2. 合理使用偏移: 平衡精确性和自然性的需求
  3. 重视日志调试: 利用详细日志信息排查问题
  4. 优化性能表现: 关注执行效率和稳定性
  5. 结合其他动作: 构建完整的自动化流程

正确使用点击动作可以让您的自动化脚本更加精确、稳定和高效!