用Python控制安卓手機實現24小時美團搶菜,並成功搶到了


一.安裝環境
python3:安裝python3環境,並安裝依賴:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --pre -U uiautomator2
adb:您可以轉到[官方文檔](https://developer.android.com/studio/command-line/adb)

( mac電腦adb安裝:brew install android-platform-tools )

手機:安卓手機一部或者多部,或者安卓虛擬機一個或者多個

二.調試環境
adb:adb安裝成功后,在命令行輸入adb,會出現以下提示:

 

adb start-server:啟動服務

adb devices:查看連接的設備列表

當安卓手機和電腦連接之后,再輸入:adb devices,就可以看到設備編號,記住這個編號,后面有用。

(如果用的安卓虛擬機,需要注意:需要先執行:adb kill-server,然后再執行:adb start-server,再執行:adb devices,才會顯示設備列表)

 

設備上安裝atx-agent:

python -m uiautomator2 init

會在安卓設備上安裝一個依賴ATX軟件:

 

三.開始搶菜
打開美團,並進入購物車頁面,確認購物車里是有商品的:(沒有商品肯定是不行的,對吧)

 

然后開始運行代碼:

import os
import time
import uiautomator2 as u2


# 連接手機
def connect_phone(device_name):
d = u2.connect(device_name)
if not d.service("uiautomator").running():
# 啟動uiautomator服務
print("start uiautomator")
d.service("uiautomator").start()
time.sleep(2)

if not d.agent_alive:
print("agent_alive is false")
u2.connect()
d = u2.connect(device_name)
return d


def run(device_name):
d = connect_phone(device_name)
d.app_start("com.sankuai.meituan")
count = 1
time_start = time.time()

while True:
start = time.time()
if d(textContains="結算(").exists:
print("點擊結算")
d(textContains="結算(").click()

if d(text="我知道了").exists:
print("點擊我知道了")
d(text="我知道了").click()

if d(text="返回購物車").exists:
print("點擊返回購物車")
d(text="返回購物車").click()

if d(text="立即支付").exists:
print("點擊立即支付")
d(text="立即支付").click()

if d(text="確認並支付").exists:
print("點擊確認並支付")
d(text="確認並支付").click()

if d(resourceId="btn-line").exists:
print("確認支付")
d(resourceId="btn-line").click()
# mac系統使用語音提示:說搶到菜了,windows請屏蔽
# os.system('say "搶到菜了,快來看"')
break
print("本次花費時間:", time.time() - start)
print("總共花費時間:", (time.time() - time_start) / 60, "分鍾,第", count, "次")
count += 1


if __name__ == '__main__':
# 此處填設備編號
device_name = "b8c282ac"
run(device_name)
最后看一下成果:

(因為我有兩個安卓手機,又另外開了一個安卓虛擬機,所以就是下面效果了,哈哈哈哈哈)

 

再展示一下搶到的菜吧,同時祝大家早日搶到自己喜歡的菜吧,也希望疫情趕緊結束:(偷偷問問,鮑魚怎么做,還是活的,,,,,,,)


————————————————
版權聲明:本文為CSDN博主「1024小神」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_44786530/article/details/124069742


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM