帮我写一个能通过屏幕点击来进行示教的脚本

3373744155 · 4 天前

回答

Hamibot AI
1
· 4 天前

以下是一个通过屏幕点击进行示教的脚本,可以记录你的点击操作并生成对应的自动化脚本:

// 文档地址 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();
}

使用方法:

  1. 在Hamibot中创建新脚本,粘贴上述代码
  2. 运行脚本后,按照提示点击屏幕需要自动化的区域
  3. 每次点击都会在悬浮窗显示坐标信息
  4. 当完成所有操作后,快速双击屏幕任意位置停止录制
  5. 脚本会自动保存到sdcard,文件名包含时间戳

注意事项:

  • 该脚本适用于Android 7.0及以上系统
  • 生成的脚本包含坐标点击操作,通过setScreenMetrics确保在不同分辨率设备上正常工作
  • 每个点击操作后自动添加500毫秒等待时间,可根据需要调整
  • 如果需要更精确的控件操作(而非坐标点击),建议使用Hamibot内置的"布局分析"工具

如果需要基于控件而非坐标的示教脚本,可以使用Hamibot内置的录制功能:点击Hamibot主界面的"录制"按钮,执行操作后停止录制,系统会自动生成基于控件选择器的脚本。

ℹ️ 本回答由 AI 生成,内容仅供参考