回答
Hamibot中click函数的用法
Hamibot提供了几种不同的click函数用法,主要分为基于文本、基于坐标和基于区域三种方式。
1. 基于文本的点击
// 文档地址 https://docs.hamibot.com/
// 点击屏幕上第一个"微信"文本
click("微信");
// 点击屏幕上第二个"发现"(i从0开始计算)
click("发现", 1);
// 确保点击成功(常用做法)
while (!click("扫一扫")) {
// 会一直尝试点击直到成功
}
说明:
- 这个方法需要Android 5.0以上系统
- 当屏幕中不包含该文本,或文本所在区域不可点击时返回false
- i参数是从0开始计算的,不指定i时会尝试点击所有匹配的文本
2. 基于坐标的点击
// 文档地址 https://docs.hamibot.com/
// 设置设计脚本时的屏幕分辨率(用于适配不同设备)
setScreenMetrics(1080, 1920);
// 点击坐标(500, 800)
click(500, 800);
说明:
- 这个方法需要Android 7.0以上系统
- 使用setScreenMetrics可以解决不同分辨率设备的适配问题
- 该函数会阻塞执行,直到点击完成(约150毫秒)才继续执行脚本
3. 基于区域的点击
// 文档地址 https://docs.hamibot.com/
// 点击左上角坐标(200,300)到右下角坐标(400,500)的区域
click(200, 300, 400, 500);
说明:
- 这种方式通常用于录制的脚本中
- 当需要点击没有文字的图标时很有用
- 可以通过悬浮窗的布局分析工具获取控件的bounds属性
最佳实践
对于复杂场景,可以结合控件和坐标点击:
// 文档地址 https://docs.hamibot.com/
// 找到特定ID的控件
var widget = id("icon_send").findOne();
// 获取其中心位置并点击
click(widget.bounds().centerX(), widget.bounds().centerY());
记住,基于文本的点击是最推荐的方式,因为它不受屏幕分辨率变化的影响,脚本可移植性更好。只有当无法通过文本识别目标时,才考虑使用坐标或区域点击。
ℹ️ 本回答由 AI 生成,内容仅供参考