回答
以下是一个Hamibot脚本,用于模拟屏幕点击和指定区域OCR识别,并保存识别结果。脚本首先请求屏幕截图权限,捕获屏幕图像,裁剪到指定区域,进行OCR识别,将结果保存到文件,然后模拟点击屏幕上的一个点(示例中点击坐标(500, 600))。请根据实际需求调整区域参数和点击位置。
// 文档地址 https://docs.hamibot.com/
auto.waitFor(); // 等待无障碍服务启用
// 请求屏幕截图权限
if (!requestScreenCapture()) {
toastLog('没有授予 Hamibot 屏幕截图权限');
hamibot.exit();
}
sleep(1000); // 等待一秒让截图权限生效
// 捕获整个屏幕
var img = captureScreen();
if (!img) {
toastLog('截图失败');
hamibot.exit();
}
// 定义OCR区域:left, top, width, height(示例值,请根据实际调整)
var regionLeft = 100;
var regionTop = 200;
var regionWidth = 300;
var regionHeight = 100;
// 裁剪图像到指定区域
var croppedImg = images.crop(img, regionLeft, regionTop, regionWidth, regionHeight);
if (!croppedImg) {
toastLog('裁剪图像失败');
hamibot.exit();
}
// 使用OCR识别裁剪后的图像(只返回文本)
var ocrText = ocr.recognizeText(croppedImg);
toastLog('OCR识别完成');
// 保存识别结果到文件(路径为/sdcard/ocr_result.txt)
var filePath = "/sdcard/ocr_result.txt";
files.write(filePath, ocrText);
toastLog('识别结果已保存到 ' + filePath);
// 模拟屏幕点击(示例点击坐标(500, 600),请根据实际调整)
click(500, 600);
toastLog('点击执行完成');
// 退出脚本
hamibot.exit();
使用说明:
- 调整区域参数:修改
regionLeft、regionTop、regionWidth和regionHeight变量以定义OCR识别区域。 - 调整点击位置:修改
click(500, 600)中的坐标以匹配需要点击的点。 - 保存路径:文件默认保存在
/sdcard/ocr_result.txt,确保设备有存储权限。 - 兼容性:脚本使用Rhino 1.7.15兼容的JavaScript语法,避免使用ES6特性。
如果遇到问题(如裁剪失败或OCR识别错误),请检查Hamibot版本(需要1.2.2或以上支持OCR),并确保无障碍服务和截图权限已授予。
ℹ️ 本回答由 AI 生成,内容仅供参考