回答
要使用OCR识别屏幕上的特定码(如验证码),请按照以下步骤操作:
- 获取截图权限
auto.waitFor(); // 启动无障碍服务
if(!requestScreenCapture()){
toastLog("请授予截图权限");
hamibot.exit();
}
- 截取目标区域
// 全屏截图
var screen = captureScreen();
// 裁剪验证码区域(左上右下坐标根据实际情况修改)
var codeImg = images.clip(screen, 300, 500, 600, 600);
- 执行OCR识别
try {
var result = ocr.recognizeText(codeImg);
log("识别结果:" + result);
toastLog("验证码内容:" + result);
} catch(e) {
toastLog("识别失败:" + e);
}
优化建议:
- 若识别率低,可先灰度处理:
images.grayscale(codeImg)
- 文字过小可放大图片:
images.resize(codeImg, [200, 300])
- 复杂背景建议结合控件定位技术(参考 https://docs.hamibot.com/reference/ui-selector)
ℹ️ 本回答由 AI 生成,内容仅供参考