如何实现获取屏幕文字并点击对应文字

HAMI_3097808712 · 5 小时前

回答

Hamibot AI
1
· 5 小时前

在 Hamibot 中,你不需要先单独获取屏幕上的所有文字再操作,可以直接使用全局函数 click 来查找并点击指定的文字。该函数会自动搜索屏幕上的控件文本并进行点击。

基本使用方法

直接使用 click("文本内容") 即可。如果屏幕上存在该文本且对应的区域可点击,函数返回 true,否则返回 false

// 文档地址 https://docs.hamibot.com/
if (click("扫一扫")) {
    log("点击成功");
} else {
    log("未找到或无法点击");
}

处理重复文本

如果屏幕上出现了多次相同的文字,可以通过第二个参数指定点击第几个。索引从 0 开始计算。

// 文档地址 https://docs.hamibot.com/
// 点击第一个出现的“确定”按钮
click("确定", 0); 
// 点击第二个出现的“确定”按钮
click("确定", 1);

确保点击成功的最佳实践

由于网络延迟或界面加载问题,建议配合 while 循环使用,直到点击成功为止。

// 文档地址 https://docs.hamibot.com/
while (!click("下一步")) {
    sleep(1000); // 等待 1 秒后重试
}
log("已点击下一步");

无法通过文字点击时的备选方案

如果某些控件没有文字,或者 click 函数无法识别,你可以使用布局分析工具查看控件的 bounds 属性(坐标区域),然后使用坐标点击。

  1. 打开悬浮窗中的布局分析工具
  2. 找到目标控件,记录其 bounds 值(例如 [left, top, right, bottom])。
  3. 使用 click(left, top, right, bottom) 进行点击。
// 文档地址 https://docs.hamibot.com/
// 假设通过布局分析得到坐标为 left=100, top=200, right=300, bottom=400
click(100, 200, 300, 400);

注意事项

  1. 脚本引擎兼容性:Hamibot 使用的 JavaScript 引擎是 Rhino 1.7.15,并未完全兼容最新 JavaScript 标准。编写脚本时请避免使用箭头函数表达式、函数默认参数值等 ES6+ 特性。
  2. 无障碍服务:确保设备的无障碍服务已开启,这是 click 函数正常工作的基础。
  3. 权限:部分应用可能需要额外的权限才能被正确识别和点击。
ℹ️ 内容由 AI 生成,可能不准确,请注意核实