回答
Hamibot 支持动作录制功能,同时也支持实时截屏,但两者用途不同:
- 动作录制:Hamibot 支持录制用户的触控操作(如点击、滑动),生成
.auto格式的录制文件。录制完成后,可以通过脚本调用引擎接口来运行这些录制文件。 - 屏幕画面:Hamibot 提供
captureScreen()接口进行实时截屏,常用于 OCR 识别或图像比对,但不支持直接录制视频流文件。
运行录制文件示例
你可以使用 engines.execAutoFile 来运行已录制的 .auto 文件。
// 文档地址 https://docs.hamibot.com/
// 运行录制文件
engines.execAutoFile("/sdcard/脚本/1.auto");
实时截屏示例
如果你需要通过截屏进行实时画面分析,可以使用以下代码:
// 文档地址 https://docs.hamibot.com/
if (!requestScreenCapture()) {
toastLog('没有授予 Hamibot 屏幕截图权限');
hamibot.exit();
}
sleep(1000);
log('开始截屏');
const img = captureScreen();
// 此处可进行 OCR 识别或图像处理
// const res = ocr.recognizeText(img);
// toastLog(res);
hamibot.exit();
建议
- 录制文件管理:录制的
.auto文件通常保存在设备存储中,确保路径权限正确。 - 性能优化:频繁调用
captureScreen()会消耗较多资源,建议在必要时才进行截屏。 - 兼容性:脚本运行环境基于 Rhino 1.7.15,编写代码时请避免使用箭头函数等 ES6+ 新特性。
补充回答 1
动作录制功能通常位于 Hamibot 应用的脚本管理界面中。如果你没有找到,可能是权限未开启或入口隐藏。以下是找到并使用动作录制的详细步骤:
1. 开启必要权限
录制动作需要 无障碍服务权限 和 悬浮窗权限。
- 进入 Hamibot 设置界面,确保“无障碍服务”已开启。
- 在安卓系统设置中,允许 Hamibot 显示悬浮窗。
2. 找到录制入口
有两种主要方式启动录制:
方式一:通过脚本创建页面
- 打开 Hamibot 应用。
- 点击底部导航栏的 脚本。
- 点击右下角的 + 号(创建脚本)。
- 选择 录制 选项(通常显示为“录制脚本”或类似图标)。
- 点击开始录制,屏幕会出现录制控制条。
方式二:通过悬浮球(如果已启用)
- 在 Hamibot 设置中开启“悬浮球”或“录制悬浮窗”。
- 返回桌面或其他应用,点击悬浮球。
- 选择 开始录制。
3. 执行录制
- 点击开始后,你在屏幕上的点击、滑动、输入文本等操作都会被记录。
- 录制完成后,点击悬浮条上的 停止 按钮。
- 输入脚本名称并保存,系统会生成一个
.auto格式的录制文件。
4. 运行录制文件
录制好的文件可以通过其他脚本调用运行,实现自动化组合。以下是一个调用录制文件的示例代码:
// 文档地址 https://docs.hamibot.com/
// 定义录制文件路径,通常在 /sdcard/脚本/ 目录下
var path = "/sdcard/脚本/我的录制.auto";
// 检查文件是否存在
var file = files.file(path);
if (file.exists()) {
toastLog("开始运行录制文件");
// 执行录制文件
engines.execAutoFile(path);
} else {
toastLog("未找到录制文件,请检查路径");
}
5. 常见问题排查
- 找不到录制按钮:请检查 Hamibot 是否为最新版本,旧版本可能入口不同。
- 录制无反应:确认无障碍服务是否正常运行,尝试重启 Hamibot 服务。
- 运行报错:确保录制文件路径正确,且脚本有读取存储权限。
录制功能适合固定流程的自动化,如果界面元素变化频繁,建议结合图像识别或控件查找编写脚本以提高稳定性。
ℹ️ 本回答由 AI 生成,内容仅供参考