Auto.JS函数requestScreenCapture()采坑小结一requestScreenCapture()不能多次调用

今天写了一个脚本,遇到些问题与大家分享。脚本需要找图代码如下(注意标识位置)

function zhaotu(tpname,regx,regy ,regwidth,regheight){
    requestScreenCapture();//注意这个位置
    pd=null;
    var tp = images.read(tpname)
    toast("tupian:"+tp);
        sleep(3000);
     pd =findImage(
    
    captureScreen(),tp,{
    
    region:[ regx,regy,regwidth,regheight ],
    
    threshold:0.8
    
    });
    
  //  toast(b);
   sleep(3000);
   if(pd==null){    toast("pd is null");
   sleep(3000);}
    if(pd){
    
        toast("yes");
        sleep(3000);
    
    }else{
    
        toast("NO");
        sleep(3000);
    
    }
  
   
}

标识位置本来是申请权限的语句,同意后就可以截屏操作了(此处还有一个坑就是调用 requestScreenCapture 函数,系统会弹出询问框,问是否允许 autojs 截图,此时脚本就会阻塞,直到手动点击“取消”或“立即开始”按钮才会继续运行。
这个情况,会导致定时脚本无法完全脱离人工进行操作了。但我没遇到,同意一次就可以了。)但由于需要多次调用找图函数,第一次调用没问题,第二次就崩溃了。查找原因是因为  requestScreenCapture();函数多次调用好像是不可以的,因此解决方法就是把  requestScreenCapture();函数放到找图函数2外面,最好是脚本运行就后就执行,然后运行找图函数,随便运行多少次都可以,解决问题。在此分享,希望帮助一些人少踩点坑。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值