YYPOST群发软件 发表于 2025-11-4 11:58:10

AIWROK软件找图区分页面变化和卡死状态

AIWROK软件找图区分页面变化和卡死状态




/**
* 🍎交流 QQ 群 711841924 群一,苹果内测群,528816639
* 区分页面变化和卡死状态
*/

// 截取基础图像
var screenshot = screen.screenShot(1080, 1920, 100);
var baseMat = screenshot.getMat();

// 直接使用完整图像作为模板
var templateBase64 = baseMat.ToBase64();
printl("模板Base64长度: " + ('' + templateBase64).length);

// 等待8秒
printl("等待8秒...");
sleep.second(8);

// 再次截取屏幕进行比较
var newScreenshot = screen.screenShot(1080, 1920, 100);
var newMat = newScreenshot.getMat();

// 使用模板匹配检测页面是否发生变化
var results = opencv.templateMatch(newMat, , 0.6, , true);

if (results && results.length > 0) {
    printl("页面未发生变化,可能卡死!");
    // 修复:正确访问score值,根据Java方法调用规范处理
    var scoreObj = results.score;
    var score;
    if (typeof scoreObj === 'function') {
      // 如果是函数,需要正确绑定this上下文
      try {
            score = scoreObj.call(results);
      } catch (e) {
            // 如果call方法失败,尝试直接调用
            try {
                score = scoreObj();
            } catch (e2) {
                // 如果仍然失败,设置默认值
                score = 0;
                printl("无法获取相似度值: " + String(e2));
            }
      }
    } else {
      // 如果是属性,直接使用
      score = scoreObj;
    }
    printl("相似度: " + score);
   
    // 相似度高表示页面没有变化,可能是卡死了
    if (score > 0.95) {
      printl("⚠️页面很可能已卡死");
    } else {
      printl("页面保持稳定运行");
    }
} else {
    printl("页面已发生变化,运行正常");
}

// 释放资源
if (baseMat) {
    baseMat.release ? baseMat.release() : (baseMat = null);
}
if (newMat) {
    newMat.release ? newMat.release() : (newMat = null);
}
screenshot = null;
newScreenshot = null;

printl("页面检测示例结束");


页: [1]
查看完整版本: AIWROK软件找图区分页面变化和卡死状态