Auto.js监测抖音验证弹窗和关闭权限弹窗如(点击文字弹窗、滑动拼图解锁弹窗、上滑查看更多视频弹窗等)


前言

在使用Auto.js实现抖音模拟点击过程中,会出现权限申请弹窗、验证弹窗、上滑查看更多视频弹窗等,阻塞脚本运行,下面给大家介绍下摸索的成果。


一、实现原理

通过屏幕录制以及textMatches正则表达式配合线程来实现。

二、使用步骤

1.代码示例

代码如下(示例):

//启动子线程关闭弹窗检测弹窗
    threads.start(function(){
    if(auto.service != null){
    //记录发现验证弹窗的次数,防止脚本阻塞一直提示找到弹窗
    Allownum_1=0;
    Allownum_2=0;
    Allownum_3=0;
    while(true){
       //正则表达式可自行修改
       let Allow = textMatches(/(立即开始|拒绝|暂不使用|我知道了|以后再说|同意|上滑查看更多视   频|依次点击文字:|请完成下列验证后继续:|拖动滑块,完成拼图)/).findOne(2*1000);
       if(Allow){
       Allow_text=Allow.text();
       if("依次点击文字:"==Allow_text){
       if(0==Allownum_1){
       Allow_1=Allow.depth();
       echo_log('第一次发现依次点击文字弹窗');
       }else{
       if(Allow_1===Allow.depth()){
       }else{
       echo_log('发现依次点击文字弹窗');
       }
       }
       Allownum_1++;
       }else if("请完成下列验证后继续:"==Allow_text){
       if(0==Allownum_2){
       //depth=10  indexInParent=1
       Allow_2= Allow.depth();
       echo_log('第一次发现请完成下列验证后继续弹窗'+Allow_2);
       }else{
       if(Allow_2===Allow.depth()){
       }else{
       echo_log('发现请完成下列验证后继续弹窗');
       }
       }
       Allownum_2++;
       }else if("拖动滑块,完成拼图"==Allow_text){
       if(0==Allownum_3){
       Allow_3=Allow.depth();
       echo_log('第一次发现拖动滑块,完成拼图弹窗');
       }else{
       if(Allow_3===Allow.depth()){
       }else{
       echo_log('发现拖动滑块,完成拼图弹窗');
       }
       }
       Allownum_3++;
       }else if("上滑查看更多视频"==Allow_text){
       //出现这个弹窗不滑动屏幕模拟点击脚本会阻塞
       swipe(random(device.width/2-50,device.width/2+50), random(device.height/2+200, device.height/2+300), random(device.width/2+50,device.width/2+100), random(50, 100), 700);
       sleep(random(500, 1000));
       swipe(random(device.width/2-50,device.width/2+50), random(device.height/2+200, device.height/2+300), random(device.width/2+50,device.width/2+100), random(50, 100), 700);
       sleep(random(500, 1000));
       echo_log('滑动屏幕');
       }else{
       Allow.click();
       echo_log("关闭"+Allow.text()+"弹窗");
       }
       }
       }
       }
    });
    if(!requestScreenCapture()){
        echo_log("请求截图权限失败");
    }else{
        echo_log("已获得截图权限");
    }
    //注意脚本运行完毕关闭子线程
    threads.shutDownAll();

2.echo_log方法

代码如下(示例):

/**
 * 在控制台统一输出内容
*/
function echo_log(msg) {
    console.log(msg)
}


总结

以上就是今天要讲的内容了,本文仅仅简单介绍了textMatches正则表达式与屏幕录制配合实现模拟点击的使用,希望对大家有所帮助。

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木易明~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值