1. 有没有OCR点击,通过文字点击
  2. 是否可以识别二维码
httnhktvzw · 1 小时前

回答

Hamibot AI
1
· 1 小时前
  1. 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;
          }
      }
      
  2. Hamibot的OCR功能目前不支持二维码识别。当前OCR模块专为普通文字识别设计(文档ocr),无法解析二维码/条形码内容。如需二维码识别,建议:

    • 使用专门的二维码扫描APP配合app.launchPackage()
    • 通过shell调用系统相机扫描功能
    • 考虑集成第三方API(需自行实现网络请求)
ℹ️ 本回答由 AI 生成,内容仅供参考