Python腳本 Python配合adb命令實現自動發紅包

1.前言

adb是個好東西,可以通過提供的座標模擬點擊手機屏幕的相應位置.像以前很火的"跳一跳"就是通過adb實現自動跳躍.在手機使用按鍵精靈的腳本其實原理也都大同小異,確定座標-點擊-延時這幾步.
ps.腳本只要不是惡意腳本,例如用於遊戲中的刷材料經驗,或是多次點擊刷數據的行爲,編寫腳本,釋放雙手,還是挺滋潤的.

2.介紹

今天是狗羣主生日,羣員要求羣主發紅包.但是羣主手上就只剩下可憐的幾十塊飯錢,面對這麼多號羣員,怎樣才能滿足他們呢?
1.紅包數量要足
2.紅包次數要多

3.紅包的金額要高(樓主沒有錢,這條不聽羣員的)
聰明的羣主想到了每次發紅包的總金額設置1元,紅包個數10個,發30次.那這樣總共的紅包金額=1x30=30元,總的紅包個數卻高達10x30=300個,這樣就實現滿足羣友的需求.

3.步驟

(1)設置-系統-關於手機-版本號點擊7次開啓開發者選項
(2)系統-開發者選項-開啓USB調試
(3)下載adb,百度網盤下載
(4)解壓並打開文件夾,運行shell.bat,輸入adb devices,之後會開啓守護進程,最後顯示
在這裏插入圖片描述
表示adb開啓成功.
(5)測試: 輸入命令adb shell input tap 100 100,如果手機屏幕有反應了,那就可以開始寫腳本啦~
(6)定位
adb shell input tap x y,其實就是在屏幕[x,y]進行了一次點擊.準確的定位可以在開發者選項中開啓
1.按鈕回顯:顯示點按操作反饋
2.位置顯示:指針位置
在這裏插入圖片描述
當點擊或拖動時,就會在上方顯示座標x,y,根據座標就能進行定位了
在這裏插入圖片描述
(7)確認流程
只要熟悉了點擊按鈕的邏輯,先按什麼,再按什麼就能完成一次發紅包操作了,然後循環30遍就能發完所有的紅包.
首先讓手機停留在這個頁面,作爲每次操作的主頁面,
在這裏插入圖片描述
然後點擊紅包
在這裏插入圖片描述
輸入第一個總金額,輸入第二個紅包個數,輸入後點擊塞錢進紅包
在這裏插入圖片描述
最後輸入密碼,等待一點時間就發送完畢,回到主頁面,完成了一次操作.
(8)編寫腳本

from os import system
import time


def tap(x, y):
    system(r"cd /d E:\adb\ && adb shell input tap {} {}".format(x, y))


rep = [
    # [座標x , 座標y , 完成該步操作後等待時間t]
    [145, 1569, 0.3],  # 點擊紅包
    [794, 274, 0.3],   # 點擊總金額
    [180, 1305, 0.1],  # 1元
    [759, 535, 0.3],   # 點擊紅包個數
    [865, 1287, 0.1],  # 3
    [559, 1833, 0.3],  # 0
    [491, 1161, 0.1],  # 關閉輸入法
    [555, 1245, 0.5],  # 塞錢進紅包
    # 此處輸入六位密碼完成發送(這裏以123456爲例)
    [180, 1305, 0.1],  # 1
    [507, 1280, 0.1],  # 2
    [860, 1270, 0.1],  # 3
    [100, 1472, 0.1],  # 4
    [480, 1490, 0.1],  # 5
    [840, 1480, 0.1]   # 6
]

if __name__ == '__main__':
    for times in range(30):  # 發30次
        for i in rep:
            x = i[0]
            y = i[1]
            t = i[2]
            tap(int(x), int(y))
            time.sleep(t)  # 動態緩衝時間

4.寫在最後

最後羣主被羣員圍毆死了,全文完.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章