「这是我参与2022首次更文挑战的第12天,活动详情查看:2022首次更文挑战」
课程背景
- 最近快到年底了 手底下的事情不少 但啥都不相干
- 掘金粑粑又开始更文奖励了
有点小欣喜 - 但上次纯手工写了50篇技术文档 感觉身体被掏空了 没啥能写的了
- 思来想去还是分享一下之前Get到的一个小技能 Auto.js吧
正文开始
上一章节中我们成功领取到了第一个红包,但是第二个红包没有领取。这里我们继续进行
1 循环领取红包。我们可以写一个死循环,排着检查红包有没有。当红包没有的时候才跳出循环。执行下面的步骤。
当找不到红包的时候,会显示找不到红包。并退出寻找的循环。具体的代码
//寻找红包
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()方法模拟手机的回退按键。
这样我们又重新回到了主界面。继续等待下一个红包的到来。但是,我们的程序只会执行一次,如何能让它一直在那里等着接收红包呢。还是上面的思路,写一个死循环让它一直在监听着消息列表。
下一章节中我们继续介绍,如何让程序一直运行。