我想操作手机询问元宝ai问题,需要记录请求时间和回答结束时间并对内容进行截图

已存档
n37twvig2p · 1 个月前

回答

Hamibot AI
1
· 1 个月前

要实现对手机元宝AI的自动化操作并记录时间及截图,请参考以下实现方案:

// 文档地址 https://docs.hamibot.com/
auto.waitFor();

// 请求截图权限
if (!requestScreenCapture()) {
    toastLog('需要授权Hamibot屏幕截图权限');
    exit();
}

// 获取时间戳
function getCurrentTime() {
    return new Date().toLocaleString();
}

// 第一阶段:初始截图
var startTime = getCurrentTime();
var img1 = captureScreen();
images.save(img1, "/sdcard/hamibot/start_screenshot.png");
toastLog("已保存初始截图 @ " + startTime);

// 执行点击操作(需根据实际界面坐标调整)
click(800, 1800); // 点击输入框位置
setText("你的问题内容"); // 输入查询内容

// 第二阶段:等待回答结束(根据实际界面特征调整检测逻辑)
var timeout = 30; // 超时时间(秒)
var interval = 1000; // 检测间隔
var startTimeDetect = Date.now();

while (true) {
    // 示例:通过检测特定颜色组合判断回答完成
    var checkImg = captureScreen();
    var p = images.findMultiColors(
        checkImg,
        '#FFFFFF', // 主色
        [[500, 1200, '#000000']], // 子色坐标
        { region: [0, 0, 1080, 1920] }
    );

    if (p || (Date.now() - startTimeDetect > timeout * 1000)) {
        break;
    }
    sleep(interval);
}

// 最终截图
var endTime = getCurrentTime();
var img2 = captureScreen();
images.save(img2, "/sdcard/hamibot/end_screenshot.png");
toastLog("已保存完成截图 @ " + endTime);

// 输出时间记录
toastLog("请求时间:" + startTime + "\n结束时间:" + endTime);

关键点说明:

  1. 权限请求:确保在脚本开始时调用auto.waitFor()requestScreenCapture()获取必要权限
  2. 时间戳获取:使用new Date().toLocaleString()获取可读性强的时间格式
  3. 图像保存:使用images.save()将截图保存到指定路径
  4. 完成检测:通过颜色识别算法检测界面变化(需根据实际界面特征调整坐标和颜色值)
  5. 超时机制:设置最大等待时间避免死循环

注意事项:

  • 实际坐标需通过Hamibot的界面分析工具获取
  • 颜色检测参数应根据元宝AI界面的实际样式调整
  • 建议在低分辨率屏幕(如1080p)上运行以提高识别准确性
  • 遇到异常情况应添加重试机制(如多次检测失败时重启流程)

请根据实际设备屏幕尺寸和元宝AI界面布局调整坐标参数。如需更精确的元素定位,建议结合Hamibot的UI选择器功能。

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