  |  |   |    | 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, [templateBase64], 0.6, [0, 0, 1, 1], true);
 
  
- if (results && results.length > 0) {
 
 -     printl("页面未发生变化,可能卡死!");
 
 -     // 修复:正确访问score值,根据Java方法调用规范处理
 
 -     var scoreObj = results[0].score;
 
 -     var score;
 
 -     if (typeof scoreObj === 'function') {
 
 -         // 如果是函数,需要正确绑定this上下文
 
 -         try {
 
 -             score = scoreObj.call(results[0]);
 
 -         } 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("页面检测示例结束");
 
  复制代码 
 
  |  |    |  |   |  
  |