Auto.js 快速入门教程 十四 收红包(6)

763 阅读3分钟

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

课程背景

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

正文开始

上一章节中我们完成了红包的脚本,也了解了autojs的一些基本逻辑。

autojs无非就是通过一些封装好了的方法,模拟了我们对于手机的一些操作而已。进行操作的步骤无非也是三步

  • 定位页面中的元素 比如 text() id() 方法,这是最常用的
  • 选择要操作的元素 比如 findOne()方法。这个是最最常用的选择操作
  • 执行操作 click() longClick() 点击是我们对手机最多的操作了。只是有的允许点击的控件可以直接执行click()方法,不允许点击的控件则是需要我们找到控件的中心点坐标。去点击中心坐标以完成我们对屏幕的点击操作
  • 最后一步就是开启循环,无限的去执行我们已经写好的操作逻辑。

这跟Excel中的宏是非常相似的,都是去录制一段操作。然后后续就可以无限执行这段操作

完整的代码

/**
 * [这是学习autojs时候编写的抢QQ红包的练习脚本] 
 * Author Liiy. 
 * Date 2022/01/27. 
 * Time 21:39. 
 */

home()
text("QQ").findOne(1000).click()
liiy_sleep(2) //等待两秒打开app

//监听消息页面
while(true){
    //寻找未读消息
    let un_read = id("com.tencent.mobileqq:id/unreadmsg").findOne(1000)
    if(un_read){
        //根据坐标点击未读消息按钮
        click(un_read.bounds().centerX()-200,un_read.bounds().centerY())
        liiy_sleep(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;
            }
        }

        //返回到主界面
        back()
        liiy_sleep(1)
    }

    toast("休息一下进行下一轮的寻找")
    liiy_sleep(5)
}

//等待一下
function liiy_sleep(second){
    sleep(second * 1000)
}

你不可以用脚本做的事情

这里着重说明一下你不可以用脚本做的事 或者是说你要小心的地方

1 不可以用脚本去抖音极速版刷视频得红包。因为抖音加了手势的检测逻辑。如果你一直用同一个手势,那会封你的抖音号。(别问我是怎么知道的,谁被封谁知道)

2 不可以在掘金上刷赞。因为掘金运营有个叫没露封的管理员时刻在监视这你的账号,如果点赞多了,你的掘金号基本上会被封。(别问我是怎么知道的,谁被封谁知道)

3 (...虚位以待) 更多的目前没发现