B2B网络软件

标题: AIWROK软件找图区分页面变化和卡死状态 [打印本页]

作者: YYPOST群发软件    时间: 昨天 11:58
标题: AIWROK软件找图区分页面变化和卡死状态
AIWROK软件找图区分页面变化和卡死状态
AIWROK软件找图区分页面变化和卡死状态 B2B网络软件

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

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

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

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

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

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

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

  19. if (results && results.length > 0) {
  20.     printl("页面未发生变化,可能卡死!");
  21.     // 修复:正确访问score值,根据Java方法调用规范处理
  22.     var scoreObj = results[0].score;
  23.     var score;
  24.     if (typeof scoreObj === 'function') {
  25.         // 如果是函数,需要正确绑定this上下文
  26.         try {
  27.             score = scoreObj.call(results[0]);
  28.         } catch (e) {
  29.             // 如果call方法失败,尝试直接调用
  30.             try {
  31.                 score = scoreObj();
  32.             } catch (e2) {
  33.                 // 如果仍然失败,设置默认值
  34.                 score = 0;
  35.                 printl("无法获取相似度值: " + String(e2));
  36.             }
  37.         }
  38.     } else {
  39.         // 如果是属性,直接使用
  40.         score = scoreObj;
  41.     }
  42.     printl("相似度: " + score);
  43.    
  44.     // 相似度高表示页面没有变化,可能是卡死了
  45.     if (score > 0.95) {
  46.         printl("⚠️  页面很可能已卡死");
  47.     } else {
  48.         printl("页面保持稳定运行");
  49.     }
  50. } else {
  51.     printl("页面已发生变化,运行正常");
  52. }

  53. // 释放资源
  54. if (baseMat) {
  55.     baseMat.release ? baseMat.release() : (baseMat = null);
  56. }
  57. if (newMat) {
  58.     newMat.release ? newMat.release() : (newMat = null);
  59. }
  60. screenshot = null;
  61. newScreenshot = null;

  62. printl("页面检测示例结束");
复制代码








欢迎光临 B2B网络软件 (http://bbs.niubt.cn/) Powered by Discuz! X3.2