B2B网络软件

 找回密码
 立即注册 审核网站号:QQ:896757558
搜索
查看: 1121|回复: 0
打印 上一主题 下一主题

自动化屏幕监控:首次截图与5秒后对比

[复制链接]

1186

主题

1191

帖子

8021

积分

abc

Rank: 9Rank: 9Rank: 9

积分
8021
跳转到指定楼层
楼主
发表于 2025-1-21 08:46:09 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
判断页面有没有变化的两种方法:
自动化屏幕监控:首次截图与5秒后对比 B2B网络软件
自动化屏幕监控:首次截图与5秒后对比 B2B网络软件

  1. // 方法1:这里是多个截图点进行检验
  2. // 方法1:这里是多个截图点进行检验
  3. var img = screen.screenShotFull();  
  4. img.save('/sdcard/1.jpg');  

  5. // 只输出一次RGB值
  6. var rgb = img.getPointRGB(0.822, 0.6427);  

  7. // 可选:注释掉不必要的输出
  8. // console.log(rgb);  
  9. // console.log(rgb[0]);  
  10. // console.log(rgb[1]);  
  11. // console.log(rgb[2]);  

  12. // 减少等待的时间,比如改为5秒
  13. sleep.millisecond(5000);  

  14. var imgNext = screen.screenShotFull();  
  15. var rgbb = imgNext.getPointRGB(0.822, 0.6427);  

  16. // 可选:注释掉不必要的输出
  17. // console.log(rgbb);  
  18. // console.log(rgbb[0]);  
  19. // console.log(rgbb[1]);  
  20. // console.log(rgbb[2]);  

  21. // 比较RGB值
  22. if (rgb[0] === rgbb[0] && rgb[1] === rgbb[1] && rgb[2] === rgbb[2]) {  
  23.     console.log('画面无变化');  
  24. } else {  
  25.     console.log('画面有变化');  
  26. }
复制代码
根据比较结果输出信息:
如果RGB值相同,输出’画面无变化’,表示在这5秒内,该位置的颜色没有发生变化。
如果RGB值不同,输出’画面有变化’,表示在这5秒内,该位置的颜色发生了变化。
这段代码常用于自动化测试、监控屏幕内容变化或者实现某些特定的自动化操作,比如在等待某个界面加载完成时,通过检测特定区域的颜色变化来判断页面是否已经加载完毕。

  1. // 方法2:这里是多个截图点进行检验  

  2. // 定义要检查的坐标列表,,  
  3. var checkPoints = \[  
  4.     {x: 0.8194, y: 0.5254},  
  5.     {x: 0.2847, y: 0.8047}, // 添加更多坐标点  
  6.     // ... 其他坐标  
  7. \];  

  8. // 首次截图并获取各点RGB值  
  9. // 定义要检查的坐标列表  
  10. var checkPoints = [  
  11.     {x: 0.8194, y: 0.5254},  
  12.     {x: 0.2847, y: 0.8047} // 添加更多坐标点  
  13.     // ... 其他坐标  
  14. ];  

  15. // 首次截图并获取各点RGB值  
  16. var img = screen.screenShotFull();  
  17. var rgbValues = [];  
  18. for (var point of checkPoints) {  
  19.     var rgb = img.getPointRGB(point.x, point.y);  
  20.     rgbValues.push(rgb);  
  21. }  
  22. console.log("首次截图RGB值:", rgbValues);  

  23. // 等待一段时间后再次截图  
  24. sleep.millisecond(10000);  
  25. var imgNext = screen.screenShotFull();  

  26. // 比较两次截图的RGB值  
  27. var isSceneChanged = false;  
  28. for (var i = 0; i < checkPoints.length; i++) {  
  29.     var newRgb = imgNext.getPointRGB(checkPoints.x, checkPoints.y);  
  30.     if (rgbValues[0] !== newRgb[0] ||   
  31.         rgbValues[1] !== newRgb[1] ||   
  32.         rgbValues[2] !== newRgb[2]) {  
  33.         isSceneChanged = true;  
  34.         break; // 发现变化就跳出循环  
  35.     }  
  36. }  

  37. if (isSceneChanged) {  
  38.     console.log('画面有变化');  
  39. } else {  
  40.     console.log('画面无变化');  
  41. }

  42. //这是另一种方法
复制代码
主要作用:
定义检查点:定义一个包含多个坐标点的数组checkPoints,每个坐标点表示屏幕上的一个相对位置。
拍摄首次截图:拍摄屏幕的全屏截图。
获取RGB值:遍历checkPoints数组,获取每个检查点的RGB颜色值,并将这些值存储在rgbValues数组中。
等待10秒:让脚本暂停10秒,等待屏幕内容可能发生变化。
拍摄第二次截图:再次拍摄屏幕的全屏截图。
获取新RGB值:遍历checkPoints数组,获取第二次截图中每个检查点的RGB颜色值。
比较RGB值:比较两次截图中每个检查点的RGB值是否相同。
输出结果:根据比较结果输出’画面有变化’或’画面无变化’。
主要特点:
多点检测:检查多个特定位置的颜色变化。
等待时间较长:等待时间为10秒。
更全面的检测:通过多个检查点可以更全面地监控屏幕内容的变化。
总结
第一段代码:单点检测,等待时间为5秒。
第二段代码:多点检测,等待时间为10秒。
第二段代码由于检查了多个位置,因此能够更全面地检测屏幕内容的变化,而第一段代码则只关注一个特定位置。

回复

使用道具 举报

本版积分规则

关闭

QQ|»营销软件综合讨论|»营销软件有问必答|»营销软件教程专区|»营销软件POST脚本分享|»营销软件普通脚本分享|»营销软件软件资讯|»营销软件精品软件|»营销软件更新公告|营销软件|B2B软件|B2B网络软件 ( 京ICP备09078825号 )本网站开发的营销软件是一款新的网络营销软件,这款营销可以去网站软件,博客软件,B2B软件,分类信息网发贴,可以抢沙发,可以到百度文库上传WORD文档,可以到一些是相册网站自动上传图片,这个自动发帖软件自带云蜘蛛,加快收录,有6种对接打码接口,方便,效率高,速度快,而且对拖动的验证码全网第一家独家支持,全部原创技术,独家研发,正版原创带版权软件。选择万能营销软件,就选择了一种赚钱的效率,从没有被超越过,一直在努力研发新技术。放飞梦想,解放双手,来点创意,成就你的梦想,就在万能营销软件开始

map2

GMT+8, 2026-10-3 14:18 , Processed in 0.113918 second(s), 32 queries .

快速回复 返回顶部 返回列表