回答
-
Hamibot没有直接的"OCR点击"函数,但可以通过组合OCR识别和坐标点击实现。有两种方式处理文字点击:
-
基于控件的方式(推荐):使用
click(text)函数直接通过无障碍服务点击文本。这是最简单高效的方法,适用于大多数有文本标签的按钮:// 文档地址 https://docs.hamibot.com/ auto.waitFor(); click("微信"); // 点击屏幕上第一个"微信"文本 click("联系人", 1); // 点击第二个"联系人"文本 -
基于OCR的方式:当控件文本无法被无障碍服务识别时(如图片中的文字),需先OCR识别再计算坐标点击:
// 文档地址 https://docs.hamibot.com/ auto.waitFor(); if (!requestScreenCapture()) { toastLog('请授予屏幕截图权限'); hamibot.exit(); } const img = captureScreen(); const results = ocr.recognize(img); // 查找目标文字并点击中心点 var targetText = "确认"; for (var i = 0; i < results.length; i++) { if (results[i].text.includes(targetText)) { var rect = results[i].bounds; var x = (rect.left + rect.right) / 2; var y = (rect.top + rect.bottom) / 2; click(x, y); toastLog('已点击: ' + targetText); break; } }
-
-
Hamibot的OCR功能目前不支持二维码识别。当前OCR模块专为普通文字识别设计(文档ocr),无法解析二维码/条形码内容。如需二维码识别,建议:
- 使用专门的二维码扫描APP配合
app.launchPackage() - 通过
shell调用系统相机扫描功能 - 考虑集成第三方API(需自行实现网络请求)
- 使用专门的二维码扫描APP配合
ℹ️ 本回答由 AI 生成,内容仅供参考