1. <ul id="kkwye"><tfoot id="kkwye"></tfoot></ul>
  2. 科技改變生活 · 科技引領(lǐng)未來(lái)

    • 首頁(yè)
    • 資訊
    • 技術(shù)
    • 百科
    • 問(wèn)答
    • 學(xué)習(xí)
    • 看看
    • 站長(zhǎng)
    • 生活
    • 快訊

    首頁(yè) > 看看 > 創(chuàng)業(yè)經(jīng)驗(yàn)

    設(shè)置微信自動(dòng)搶紅包(微信內(nèi)置自動(dòng)搶紅包)

    時(shí)間:2022-08-23 04:09 作者:劉書

    目錄:

    0 引言

    1 環(huán)境

    2 需求分析

    3 前置準(zhǔn)備

    4 搶紅包流程回顧

    5 代碼梳理

    6 后記

    0 引言

    提到搶紅包,就不得不提Xposed框架,它簡(jiǎn)直是個(gè)搶紅包的神器,但使用Xposed框架有一個(gè)前提條件:手機(jī)需要root,對(duì)于蘋果手機(jī)的話就需要越獄了。現(xiàn)在的手機(jī)想要root或越獄并不容易,同時(shí)這會(huì)對(duì)手機(jī)安全性帶來(lái)一些風(fēng)險(xiǎn),搶紅包本身只是個(gè)娛樂(lè)活動(dòng),這樣做就得不償失了。

    為了自動(dòng)搶紅包,python能幫我們實(shí)現(xiàn)嗎?

    答案是肯定的,本文就帶大家一起探索下用Python如何實(shí)現(xiàn)自動(dòng)搶紅包。

    1 環(huán)境

    操作系統(tǒng):Windows

    Python版本:3.7.2

    手機(jī)系統(tǒng):Android

    2 需求分析

    這里我們的需求是實(shí)現(xiàn)自動(dòng)搶紅包。首先要打開(kāi)微信,進(jìn)入到指定的群聊,識(shí)別微信紅包、執(zhí)行搶紅包的動(dòng)作。這就是關(guān)鍵的步驟,簡(jiǎn)單清晰。

    因?yàn)殡娔X版本的微信沒(méi)有搶紅包的功能,我們只能手機(jī)微信,那么就需要把手機(jī)連上電腦,通過(guò)電腦控制手機(jī)來(lái)自動(dòng)搶,那就需要確保「adb」命令可正常執(zhí)行。

    識(shí)別微信中的消息,是紅包還是普通的信息,這里我們通過(guò)聊天消息的元素標(biāo)識(shí)來(lái)判斷。這里我們借助了「Airtest IDE」工具來(lái)實(shí)現(xiàn)。

    3 前置準(zhǔn)備

    3.1 打開(kāi)手機(jī)的USB調(diào)試

    要正常使用「adb」需要打開(kāi)USB調(diào)試,設(shè)置項(xiàng)通常出現(xiàn)在手機(jī)系統(tǒng)設(shè)置中的[開(kāi)發(fā)人員選項(xiàng)]里面。

    在手機(jī)上打開(kāi)USB調(diào)試后,接下來(lái)我們通過(guò)Airttest IDE驗(yàn)證 adb 運(yùn)行是否正常。

    3.2 下載安裝Airtest IDE

    開(kāi)始之前先,先解釋下airttest相關(guān)概念:

    Airtest 是一個(gè)跨平臺(tái)的、基于圖像識(shí)別的UI自動(dòng)化測(cè)試框架,適用于游戲和App,支持平臺(tái)有Windows、Android和iOS。

    Poco是一款基于UI控件識(shí)別的自動(dòng)化測(cè)試框架,目前支持Unity3D/cocos2dx-*/Android原生app/iOS原生app/微信小程序,也可以在其他引擎中自行接入poco-sdk來(lái)使用。

    AirtestIDE 是一個(gè)我們配套推出的跨平臺(tái)的UI自動(dòng)化測(cè)試編輯器,內(nèi)置了Airtest和Poco的相關(guān)插件功能,能夠使用它快速簡(jiǎn)單地編寫腳本。

    Airtest IDE 的下載地址:

    http://airtest.netease.com/

    下載之后,解壓打開(kāi)就可以使用,Airtest IDE的界面如下:

    使用AirtestIDE對(duì)Android應(yīng)用進(jìn)行自動(dòng)化操作,第一步就需要連接Android設(shè)備。

    1. 請(qǐng)使用USB線連接手機(jī),手機(jī)上出現(xiàn)的 允許USB調(diào)試 彈窗,點(diǎn)擊 確定。
    2. 點(diǎn)擊連接面板中的 refresh ADB 按鈕,設(shè)備列表將會(huì)刷新。
    3. 點(diǎn)擊列表內(nèi)對(duì)應(yīng)設(shè)備的 Connect 完成連接。
    4. 若設(shè)備未刷出,點(diǎn)擊 refresh ADB 按鈕。

    若連接遇到問(wèn)題,請(qǐng)參考Airtest的官方教程:Android真機(jī)連接

    4 搶紅包流程回顧

    打開(kāi)微信,在最左側(cè)的Tab頁(yè),微信消息列表,我們需要從這里選擇指定的群聊來(lái)?yè)尲t包。

    在AirtestIDE中,我們可以通過(guò)暫停功能,凍結(jié)當(dāng)前的UI樹(shù)形結(jié)構(gòu)來(lái)精確地檢視UI控件,我們先來(lái)分析下這個(gè)頁(yè)面中元素標(biāo)識(shí)。

    ▲聊天頁(yè)面中整體的群聊消息的元素標(biāo)識(shí) com.tencent.mm:id/d1v

    ▲聊天頁(yè)面中單個(gè)群聊消息的元素標(biāo)識(shí) com.tencent.mm:id/b6e

    接下來(lái)進(jìn)入我們準(zhǔn)備要搶紅包的群聊中,識(shí)別出紅包并執(zhí)行搶紅包的動(dòng)作。

    我們先來(lái)看看紅包的標(biāo)識(shí):

    ▲紅包標(biāo)識(shí)的示例1 com.tencent.mm:id/aql

    ▲紅包標(biāo)識(shí)的示例2 com.tencent.mm:id/aql

    點(diǎn)擊紅包,記錄下彈出的大紅包頁(yè)面中“開(kāi)”的元素標(biāo)識(shí)

    ▲大紅包頁(yè)面中”開(kāi)“的標(biāo)識(shí) com.tencent.mm:id/d02

    這里我們需要判斷是紅包是否有效,比如已被領(lǐng)完或是已被自己領(lǐng)取的紅包就是無(wú)效的,我們?cè)趫?zhí)行時(shí)可以跳過(guò)這些。

    ▲已領(lǐng)取紅包的標(biāo)識(shí) com.tencent.mm:id/apk

    ▲已被領(lǐng)完紅包的標(biāo)識(shí) com.tencent.mm:id/apk

    我們用的各元素的標(biāo)識(shí)都已取到,接下來(lái)就是組織我們的代碼。

    5 代碼梳理

    首先得打開(kāi)微信,利用Airtest啟動(dòng)app應(yīng)用,只須一行代碼即可搞定,如下

     打開(kāi)手機(jī)微信
    poco(text=&39;微信&39;).click()
    
    

    獲取當(dāng)前頁(yè)面中所有所有群聊的名稱

     群聊消息的元素標(biāo)識(shí)
    Chat_msg = poco(name=&39;com.tencent.mm:id/d1v&39;).offspring(&39;com.tencent.mm:id/b6e&39;)
     獲取當(dāng)前頁(yè)面中所有群聊的名稱
    Chat_names = []
    Chat_names = list(map(lambda x: x.get_text(), Chat_msg))
    

    選擇并進(jìn)入指定的群聊

     指定搶紅包的群聊名稱
    chat = input(&39;請(qǐng)指定群聊名稱:&39;)
    if chat in Chat_names:
        index = Chat_names.index(chat)
         點(diǎn)擊進(jìn)入指定的群聊
        Chat_msg[index].click()
    
    在微信聊天頁(yè)面中,獲取當(dāng)前頁(yè)面中的所有消息元素。
    
    msg_list = poco(&34;android.widget.ListView&34;).children()
    
    

    遍歷消息并查找紅包

    for msg in msg_list:
         微信紅包的標(biāo)識(shí)
        LuckyMoney = msg.offspring(&39;com.tencent.mm:id/aql&39;)
         已失效紅包(比如已領(lǐng)取、已被領(lǐng)完)的標(biāo)識(shí)
        Invalid = msg.offspring(&39;com.tencent.mm:id/aqk&39;)
    
         判斷紅包是否有效并搶起來(lái)!
        if LuckyMoney:
            pass
    
    

    在LuckyMoney中定義搶紅包的動(dòng)作

    if Invalid.exists() and (Invalid.get_text()==&39;已領(lǐng)取&39; or Invalid.get_text()==&39;已被領(lǐng)完&39;):
        print(f&39;紅包已無(wú)效,跳過(guò)……&39;)
        continue
    else:
        print(f&39;發(fā)現(xiàn)一個(gè)新紅包,搶起來(lái)!&39;)
        poco(&34;com.tencent.mm:id/d1v&34;)
        msg.click()
    
        click_open = poco(&34;com.tencent.mm:id/d02&34;)
        if click_open.exists():
            click_open.click()
        keyevent(&39;BACK&39;)
    
    

    6 后記

    若我們?cè)谝慌_(tái)電腦上并不想安裝Airtest IDE,還能執(zhí)行這個(gè)腳本嗎?

    當(dāng)然可以,只需要安裝好「pocoui」這個(gè)第三方庫(kù)就可以“拋棄”它了!

    pip install pocoui

    利用 AirtestIDE 創(chuàng)建一個(gè)項(xiàng)目時(shí),設(shè)備類型選中 Android,就會(huì)在編碼區(qū)生成一段初始化的代碼。

    from airtest.core.api import *
    auto_setup(__file__)
    
    from poco.drivers.android.uiautomation import AndroidUiautomationPoco
    poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)
    
    

    我們自己編寫的Python代碼中也需要加上這段初始化的代碼。

    再次強(qiáng)調(diào),在執(zhí)行腳本時(shí)要確保手機(jī)連上電腦,并確保「adb」命令正常運(yùn)行。

    對(duì)Airtest有興趣的小伙伴,可以參考airtest官方教程:AirtestIDE官方文檔

    評(píng)論區(qū)評(píng)論:python搶紅包,獲取本文所涉及的完整代碼

    相關(guān)話題

    • 油草河漂流多少錢(重慶有7個(gè))
    • 伊蘭特傳感器多少錢(什么是爆震傳感器和故障排除指南)
    • 今年當(dāng)兵工資多少錢(大學(xué)生參軍入伍)
    • 黑金團(tuán)隊(duì)要投資多少錢(如何0花費(fèi))
    • 宮外孕打胎要花多少錢(天價(jià)人流你聽(tīng)說(shuō)過(guò)嗎)
    • 灰色英國(guó)短毛貓多少錢一只(鹿晗到底養(yǎng)了幾只寵)
    • 風(fēng)行凌智商務(wù)多少錢(開(kāi)著)
    • 食用蟋蟀多少錢一斤(菲律賓的蛆)
    • 貨拉拉一個(gè)月能賺多少錢(80后貨拉拉司機(jī)月流水9000)
    • 果語(yǔ)冰棒機(jī)多少錢一臺(tái)(兩個(gè)安徽前首富的堅(jiān)果之戰(zhàn))
    • 柏氏讓你白系列多少錢(姐妹二人同嫁乾隆)
    • 自動(dòng)挖沙攪拌機(jī)多少錢(一)
    • 大連紅魔惡霸犬多少錢(惡霸犬之家)
    • 2016牡丹336多少錢一包(耀州窯拍賣排名)
    • 瘦美膏方一療程多少錢(成本50)
    • 臉部微調(diào)大概多少錢(女子花2萬(wàn)元微整)
    • 藏紅花膏藥多少錢(醫(yī)生我媽用了上萬(wàn)買了)
    • 讀書朗學(xué)生平板電腦多少錢(讀書郎)
    • iphone8p換電池多少錢(扶起我)
    • 獨(dú)角獸星冰樂(lè)多少錢(我才不喝星爸爸出的獨(dú)角獸星冰樂(lè)呢)

    熱門推薦

    • 古鐘二鍋頭46度多少錢(全國(guó)喝啥酒)
    • 順豐寄50斤冰箱多少錢(評(píng)測(cè)五大快遞平臺(tái))
    • 做飯保姆一個(gè)月多少錢(52歲阿姨哭訴)
    • 鹿茸補(bǔ)腎丸多少錢一盒(參茸鞭丸腎陰虛者能吃嗎)
    • 北京換烤瓷牙多少錢(明星為整牙有多拼)
    • 樂(lè)高培訓(xùn)加盟費(fèi)多少錢(樂(lè)高教育取消授權(quán)波及上百門店)
    • 西鳳酒15年多少錢一瓶(價(jià)不高待客又不失面子的純糧酒)
    • 聚酰亞胺多少錢一公斤(酶中戰(zhàn)斗機(jī))
    • 公司入職體檢一般多少錢(通過(guò)聘多多找到工作)
    • 插座維修上門多少錢(換個(gè)插座還用找電工)
    • 二元店一年掙多少錢(揭秘)
    • ctfau750鉆戒多少錢(黑客游戲和解謎游戲的關(guān)聯(lián)之處)
    • 23年工齡退休拿多少錢(繳費(fèi)23年)
    • 平衡霜多少錢一瓶(日本POLA旗下這個(gè)小眾牌子THREE)
    • 歐米茄手表電池多少錢一塊(福布斯公布運(yùn)動(dòng)員收入榜單)
    • 正規(guī)醫(yī)院種植牙多少錢一顆(成本百元卻賣上萬(wàn))
    • 微信能賣多少錢(微信賬號(hào)被公開(kāi)買賣)
    • 奔富707多少錢一瓶(宴請(qǐng)時(shí)的)
    • 超聲波焊接機(jī)多少錢一臺(tái)(關(guān)于超聲波焊接)
    • 一鳴加盟費(fèi)要多少錢(一鳴真鮮奶吧多少錢)

    劉書

    關(guān)注
    免責(zé)聲明:本文章由會(huì)員“劉書”發(fā)布,如果文章侵權(quán),請(qǐng)聯(lián)系我們處理,本站僅提供信息存儲(chǔ)空間服務(wù) 如因作品內(nèi)容、版權(quán)和其他問(wèn)題請(qǐng)于本站聯(lián)系

    關(guān)注排行榜

    1. 1新百倫多少錢(都有一個(gè))
    2. 2活牛多少錢一斤(牛價(jià)丨2月11日)
    3. 3鋁單板多少錢一平方(鋁單板廠家報(bào)價(jià)大揭秘)
    4. 4一箱牛奶多少錢(實(shí)體店一箱牛奶賣50元)
    5. 5普洱茶一般多少錢(有的普洱茶只要幾十有的上萬(wàn))
    6. 6換手機(jī)外屏多少錢(盤點(diǎn)各個(gè)旗艦手機(jī)換屏價(jià)格)
    7. 7一輛電動(dòng)車多少錢(最低不到8000元)
    8. 8巴寶莉圍巾多少錢(花2580元網(wǎng)購(gòu)的博柏利圍巾竟系假貨)
    9. 9養(yǎng)老保險(xiǎn)每年多少錢(2021年養(yǎng)老保險(xiǎn)繳費(fèi)15年)
    10. 10每升油多少錢(?定了)

    編輯精選

    Copyright ?2009-2022 KeJiTian.Com, All Rights Reserved

    版權(quán)所有 未經(jīng)許可不得轉(zhuǎn)載

    增值電信業(yè)務(wù)經(jīng)營(yíng)許可證備案號(hào):遼ICP備14006349號(hào)

    網(wǎng)站介紹 商務(wù)合作 免責(zé)聲明 - html - txt - xml

    感谢您访问我们的网站,您可能还对以下资源感兴趣:

    经典香港**毛片免费看_91精品一区二区综合在线_欧美人与性动交a欧美精品_国产小视频在线看
  3. <tfoot id="2my2k"><input id="2my2k"></input></tfoot>
      <tfoot id="2my2k"></tfoot>
      <ul id="2my2k"><dfn id="2my2k"></dfn></ul>
      <fieldset id="2my2k"><menu id="2my2k"></menu></fieldset>