<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          快過(guò)年了,如何使用 AutoJS 自動(dòng)化快速搶紅包!

          共 978字,需瀏覽 2分鐘

           ·

          2022-01-15 18:14

          ↑?關(guān)注 + 星標(biāo)?,每天學(xué)Python新技能

          后臺(tái)回復(fù)【大禮包】送你Python自學(xué)大禮包


          大家好,我是龍哥!
          快過(guò)年了,群里一般會(huì)充斥著各種紅包,你搶紅包的手速怎么樣呢?
          AutoJS 是一款 Android 端的應(yīng)用軟件,它可以基于無(wú)障礙服務(wù)主動(dòng)或基于任務(wù),完成一系列自動(dòng)化操作
          官網(wǎng):https://pro.autojs.org/

          PS:由于 AutoJS Pro 對(duì)主流應(yīng)用的限制,本篇文章基于 AutoJS?4.1.1 進(jìn)行實(shí)現(xiàn)

          廢話(huà)不多說(shuō),下面直接講實(shí)現(xiàn)過(guò)程

          #?1. 準(zhǔn)備及啟動(dòng)

          首先,在 PC 上裝 VS Code,手機(jī)上裝 AutoJS 應(yīng)用

          PS:文末提供下載包

          然后,保證電腦和手機(jī)在同一局域網(wǎng),AutoJS 通過(guò) ip 連接電腦

          最后,使用?VS Code 創(chuàng)建一個(gè) JS 文件,編寫(xiě)打開(kāi)目標(biāo)應(yīng)用的腳本文件

          //打開(kāi)目標(biāo)應(yīng)用
          //應(yīng)用名稱(chēng)
          var?app_name?=?'**';

          //打開(kāi)應(yīng)用
          launchApp(app_name)

          //保持屏幕長(zhǎng)亮
          device.keepScreenOn()

          #?2. 搜索紅包及點(diǎn)擊

          定義一個(gè)方法,用于搜索當(dāng)前群聊記錄中的所有紅包記錄

          首先,通過(guò) id 和類(lèi)名獲取所有的紅包元素列表

          接著,遍歷紅包元素列表,判斷紅包控件是否為一個(gè)有效的紅包

          最后,使用 click() 方法點(diǎn)擊紅包對(duì)象,彈出搶紅包對(duì)話(huà)框

          //每一個(gè)紅包的描述信息(自己輸入)
          var?red_package_tag?=?"u1"

          function?searchNewRedpacket()?{
          ????//通過(guò)className+id,共同查找元素
          ????var?rp_msg_list?=?className("android.widget.TextView").id(red_package_tag).find();
          ????if?(rp_msg_list.length?!=?0)?{
          ????????log("檢測(cè)到的紅包個(gè)數(shù):?"?+?rp_msg_list.length);

          ????????//遍歷紅包對(duì)象
          ????????for?(var?i?=?0;?i?????????????var?rp_u1?=?rp_msg_list[i];
          ????????????var?rp_u1_parent?=?rp_u1.parent()
          ????????????//?判斷是否為一個(gè)【有效紅包】
          ????????????if?(rp_u1_parent?!=?null?&&?rp_u1_parent.childCount()?==?1)?{
          ????????????????log("發(fā)現(xiàn)新紅包,準(zhǔn)備開(kāi)搶。。。");
          ????????????????//通過(guò)元素的坐標(biāo)去點(diǎn)擊
          ????????????????click(rp_u1.bounds().centerX(),?rp_u1.bounds().centerY())
          ????????????????log("恭喜!搶到一個(gè)紅包。。。。")
          ????????????}?else?{
          ????????????????log("無(wú)效紅包。。。")
          ????????????}
          ????????}
          ????}?else?if?(rp_msg_list.empty())?{
          ????????//元素列表為空
          ????????log("未檢測(cè)到紅包消息"?+?rp_msg_list.length);
          ????}?else?{
          ????????return;
          ????}
          }

          #?3. 搶紅包

          定義一個(gè)方法,用于搶紅包

          PS:這里需要過(guò)濾過(guò)期類(lèi)的紅包

          //打開(kāi)紅包開(kāi)搶
          function?openNewRedPacket()?{
          ????//通過(guò)desc描述找到元素
          ????var?draw?=?desc("開(kāi)").findOne(500);
          ????if?(draw?!=?null)?{
          ????????draw.click();
          ????}?else?{
          ????????log("過(guò)期之類(lèi)無(wú)效紅包");
          ????}
          }

          #?4. 循環(huán)及異常處理

          定義一個(gè)方法,用于處理下面 3 種頁(yè)面,保證遇到異常或操作完成后,立即返回到聊天頁(yè)面

          //返回到上一頁(yè)
          function?back_page()?{
          ????//紅包搶完了(對(duì)話(huà)框)
          ????var?red_end?=?id("f4b").textContains("手慢了,紅包派完了").findOnce()
          ????if?(red_end)?{
          ????????log("返回一")
          ????????back()
          ????}
          ????//紅包領(lǐng)取頁(yè)面--自己搶到
          ????var?red_fp?=?desc("已存入零錢(qián),可直接提現(xiàn)").findOnce()
          ????if?(red_fp)?{
          ????????log("返回二")
          ????????back()
          ????}

          ????//紅包領(lǐng)取頁(yè)面--被別人搶光
          ????var?red_other?=?id("eyx").textContains("被搶光").findOnce()
          ????if?(red_other)?{
          ????????log("返回三")
          ????????back()
          ????}
          }

          #?5. 線(xiàn)程加速

          上面定義了 3 個(gè)方法,我這里將他們放到 3 個(gè)線(xiàn)程中異步執(zhí)行,提升執(zhí)行效率

          //線(xiàn)程一:點(diǎn)擊紅包進(jìn)入
          threads.start(function?()?{
          ????//在新線(xiàn)程執(zhí)行的代碼(子線(xiàn)程)
          ????while?(true)?{
          ????????//尋找紅包,并進(jìn)入
          ????????searchNewRedpacket()
          ????}
          });

          //線(xiàn)程二:點(diǎn)擊【開(kāi)】按鈕)
          threads.start(function?()?{
          ????while?(true)?{
          ????????openNewRedPacket();
          ????}
          })

          //線(xiàn)程三:如果紅包搶完、搶到,馬上返回
          threads.start(function?()?{
          ????while?(true)?{
          ????????back_page()
          ????}
          })

          # 6. 總結(jié)一下

          相比傳統(tǒng)的自動(dòng)化操作,加入多線(xiàn)程分工操作,可以更快地運(yùn)行自動(dòng)化去搶紅包

          點(diǎn)擊下方名片,回復(fù)關(guān)鍵字「?qhb?」即可以獲取源碼

          如果你覺(jué)得文章還不錯(cuò),請(qǐng)大家?點(diǎn)贊、分享、留言?下,因?yàn)檫@將是我持續(xù)輸出更多優(yōu)質(zhì)文章的最強(qiáng)動(dòng)力!


          推薦閱讀

          1. 最新版Pycharm 2021.3最新激活教程,有效期到2099年!

          2. 穩(wěn)了!35K!字節(jié)商業(yè)數(shù)據(jù)分析崗!

          3. 快收藏!!整理了100個(gè)Python小技巧!!

          4. 搞到了!《網(wǎng)易數(shù)據(jù)分析指南》免費(fèi)領(lǐng)!


          瀏覽 107
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  www.亚洲电影 | 婷婷激情网站 | 艹逼图| 在线观看亚洲国产 | 超碰人妻免费 |