// 方法2:这里是多个截图点进行检验  
// 定义要检查的坐标列表,,  
var checkPoints = \[  
    {x: 0.8194, y: 0.5254},  
    {x: 0.2847, y: 0.8047}, // 添加更多坐标点  
    // ... 其他坐标  
\];  
// 首次截图并获取各点RGB值  
// 定义要检查的坐标列表  
var checkPoints = [  
    {x: 0.8194, y: 0.5254},  
    {x: 0.2847, y: 0.8047} // 添加更多坐标点  
    // ... 其他坐标  
];  
// 首次截图并获取各点RGB值  
var img = screen.screenShotFull();  
var rgbValues = [];  
for (var point of checkPoints) {  
    var rgb = img.getPointRGB(point.x, point.y);  
    rgbValues.push(rgb);  
}  
console.log("首次截图RGB值:", rgbValues);  
// 等待一段时间后再次截图  
sleep.millisecond(10000);  
var imgNext = screen.screenShotFull();  
// 比较两次截图的RGB值  
var isSceneChanged = false;  
for (var i = 0; i < checkPoints.length; i++) {  
    var newRgb = imgNext.getPointRGB(checkPoints.x, checkPoints.y);  
    if (rgbValues[0] !== newRgb[0] ||   
        rgbValues[1] !== newRgb[1] ||   
        rgbValues[2] !== newRgb[2]) {  
        isSceneChanged = true;  
        break; // 发现变化就跳出循环  
    }  
}  
if (isSceneChanged) {  
    console.log('画面有变化');  
} else {  
    console.log('画面无变化');  
}
//这是另一种方法
主要作用:
定义检查点:定义一个包含多个坐标点的数组checkPoints,每个坐标点表示屏幕上的一个相对位置。
拍摄首次截图:拍摄屏幕的全屏截图。
获取RGB值:遍历checkPoints数组,获取每个检查点的RGB颜色值,并将这些值存储在rgbValues数组中。
等待10秒:让脚本暂停10秒,等待屏幕内容可能发生变化。
拍摄第二次截图:再次拍摄屏幕的全屏截图。
获取新RGB值:遍历checkPoints数组,获取第二次截图中每个检查点的RGB颜色值。
比较RGB值:比较两次截图中每个检查点的RGB值是否相同。
输出结果:根据比较结果输出’画面有变化’或’画面无变化’。
主要特点:
多点检测:检查多个特定位置的颜色变化。
等待时间较长:等待时间为10秒。
更全面的检测:通过多个检查点可以更全面地监控屏幕内容的变化。
总结
第一段代码:单点检测,等待时间为5秒。
第二段代码:多点检测,等待时间为10秒。 第二段代码由于检查了多个位置,因此能够更全面地检测屏幕内容的变化,而第一段代码则只关注一个特定位置。