回答
以下是一个通过屏幕点击进行示教的脚本,可以记录你的点击操作并生成对应的自动化脚本:
// 文档地址 https://docs.hamibot.com/
// 设置屏幕分辨率,用于坐标适配
setScreenMetrics(device.width, device.height);
// 存储点击事件的数组
var clicks = [];
// 创建提示悬浮窗
var window = floaty.window(
<frame>
<text id="text" textSize="16sp" textColor="#FFFFFF" bg="#88000000" padding="10">点击屏幕任意位置进行示教(双击停止)</text>
</frame>
);
window.setPosition(100, 100);
window.show();
toast("开始录制点击操作,请点击屏幕...");
// 双击检测时间戳
var lastClickTime = 0;
// 监听触摸事件
events.observeTouch();
events.onTouch(function(event) {
if (event.getAction() == events.ACTION_DOWN) {
var now = new Date().getTime();
// 检测双击(500毫秒内再次点击)
if (now - lastClickTime < 500) {
stopRecording();
return;
}
lastClickTime = now;
// 记录点击坐标
var x = event.getX();
var y = event.getY();
clicks.push({x: x, y: y});
// 更新悬浮窗提示
ui.run(function() {
window.text.setText("已记录点击: x=" + x + ", y=" + y + " (共" + clicks.length + "个)");
});
// 1秒后恢复提示
setTimeout(function() {
ui.run(function() {
window.text.setText("点击屏幕任意位置进行示教(双击停止)");
});
}, 1000);
}
});
// 生成并保存脚本
function stopRecording() {
window.close();
// 生成脚本内容
var script = "// 文档地址 https://docs.hamibot.com/\n\n";
script += "// 设置屏幕分辨率,用于坐标适配\n";
script += "setScreenMetrics(" + device.width + ", " + device.height + ");\n\n";
script += "// 执行记录的点击操作\n";
for (var i = 0; i < clicks.length; i++) {
script += "click(" + clicks[i].x + ", " + clicks[i].y + ");\n";
script += "sleep(500); // 每个操作间隔500毫秒\n";
}
// 保存脚本到设备
var fileName = "/sdcard/示教脚本_" + new Date().getTime() + ".js";
files.write(fileName, script);
toast("脚本已保存到 " + fileName + "\n共记录" + clicks.length + "个点击操作");
exit();
}
使用方法:
- 在Hamibot中创建新脚本,粘贴上述代码
- 运行脚本后,按照提示点击屏幕需要自动化的区域
- 每次点击都会在悬浮窗显示坐标信息
- 当完成所有操作后,快速双击屏幕任意位置停止录制
- 脚本会自动保存到sdcard,文件名包含时间戳
注意事项:
- 该脚本适用于Android 7.0及以上系统
- 生成的脚本包含坐标点击操作,通过setScreenMetrics确保在不同分辨率设备上正常工作
- 每个点击操作后自动添加500毫秒等待时间,可根据需要调整
- 如果需要更精确的控件操作(而非坐标点击),建议使用Hamibot内置的"布局分析"工具
如果需要基于控件而非坐标的示教脚本,可以使用Hamibot内置的录制功能:点击Hamibot主界面的"录制"按钮,执行操作后停止录制,系统会自动生成基于控件选择器的脚本。
ℹ️ 本回答由 AI 生成,内容仅供参考