Auto.js 快速入门教程 十二 收红包(4)

801 阅读2分钟

「这是我参与2022首次更文挑战的第12天,活动详情查看:2022首次更文挑战

课程背景

  • 最近快到年底了 手底下的事情不少 但啥都不相干
  • 掘金粑粑又开始更文奖励了 有点小欣喜
  • 但上次纯手工写了50篇技术文档 感觉身体被掏空了 没啥能写的了
  • 思来想去还是分享一下之前Get到的一个小技能 Auto.js吧

正文开始

上一章节中我们成功领取到了第一个红包,但是第二个红包没有领取。这里我们继续进行

1 循环领取红包。我们可以写一个死循环,排着检查红包有没有。当红包没有的时候才跳出循环。执行下面的步骤。

image.png

当找不到红包的时候,会显示找不到红包。并退出寻找的循环。具体的代码

//寻找红包
while(true){
    hongbao = id("com.tencent.mobileqq:id/h69").findOne(1000)
    if(hongbao){
        click(hongbao.bounds().centerX(),hongbao.bounds().centerY())
        liiy_sleep(1)
    
        //点击关闭按钮
        desc("关闭").findOne(1000).click()
        liiy_sleep(1)
        
        //删除已经领取了的红包
        longClick(hongbao.bounds().centerX(),hongbao.bounds().centerY())
        text("删除").findOne(1000).click()
        let del_btn = text("删除").findOne(1000)
        if(del_btn){
            click(del_btn.bounds().centerX(),del_btn.bounds().centerY())
            liiy_sleep(0.1)
        }
    }else{
        toast("没有找到红包")
        liiy_sleep(1)
        break;
    }
}

2 当我们领取完成当前好友的红包。就需要返回一下,退回到聊天界面等待下一个红包。可以直接执行 back()方法模拟手机的回退按键。

image.png

这样我们又重新回到了主界面。继续等待下一个红包的到来。但是,我们的程序只会执行一次,如何能让它一直在那里等着接收红包呢。还是上面的思路,写一个死循环让它一直在监听着消息列表。

下一章节中我们继续介绍,如何让程序一直运行。