AiWork判断屏幕是否发生了变化

需求

有时候启动一个脚本,无法判断脚本是否成功执行。
因为AiWork的异常捕获不完善,有的错误无法捕捉。就需要自己实现一些判断。

例如,在启动脚本前,先进行屏幕截图。
脚本启动后,再截图,对比两次图片的变化。
如果图片没变,说明大概率是脚本启动失败了。

实现

/**
 * @author 飞云
 * @wechat imfeiyun
 * @link  http://www.feiyunjs.com
 */

// 截取屏幕中心的矩形
let fullScreenImg = screen.screenShotFull()
let centerSmallImg = fullScreenImg.cutImage(screenWidth / 2 - rectW / 2, screenHeight / 2 - rectW / 2, screenWidth / 2 + rectW / 2, screenHeight / 2 + + rectW / 2)   // 截取屏幕中心的一个正方形(坑点:正确的是左顶右底,文档里是左顶宽高)
!fullScreenImg.isNull() && fullScreenImg.recycle();

// log(centerSmallImg.save('/sdcard/auto/centerSmallImg.jpg'))

// 等一会判断屏幕是否变化
sleep.millisecond(2 * 1000)

// 在大图中找小图
fullScreenImg = screen.screenShotFull()
let findImgRes = opencv.findImageOneSift(fullScreenImg, centerSmallImg, 60, 50, [0.3, 0.3, 0.8, 0.8])
if (findImgRes && findImgRes.score() > 0.8) {
    console.log('屏幕中心并没有变化')
    console.log(findImgRes.score())
} else {
    console.log('屏幕中心发生了变化')
}
!fullScreenImg.isNull() && fullScreenImg.recycle();
1. 官方交流QQ群,添加多个不批。建议使用安卓手机或电脑申请。
飞云脚本圈: 586333520飞云脚本圈
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » AiWork判断屏幕是否发生了变化

企业级大数据智能营销管理系统

了解详情