每日10行程式碼47:python自動領取淘金幣完整程式碼:基於座標的模擬點選(2020年10月可用)

天天卡丁發表於2020-10-09

今天把領淘金幣的程式碼寫完了,目前可以適應不同的解析度,原理是模擬手去點選,就相當於手機上執行個按鍵精靈。

使用前提:

  1. 電腦上配置好了adb工具。
  2. 手機開啟了開發者選項。
  3. 安裝了手機淘寶。
  4. 手機淘寶是標準版,不是長輩版等其他版本。
  5. 淘寶沒有做活動。偶爾遇到活動時,淘金幣的位置可能會變。
# _*_ encoding:utf-8 _*_
import os
import re
import time

base_sr = (1080, 2242)
base_bn1 = (567, 489)   # 淘金幣按鈕
base_bn2 = (515, 1662)   # 領取淘金幣


def get_resolution():
    p = os.popen("adb shell wm size")
    result = p.read()
    pat = r'\d+'
    resolution = re.findall(pat, result)
    s = tuple([int(i) for i in resolution])
    return s


def coor_cover(old_resolution, old_coor, new_resolution):
    return round(new_resolution[0]*old_coor[0]/old_resolution[0]), \
           round(new_resolution[1]*old_coor[1]/old_resolution[1])


current_sr = get_resolution()
if current_sr == base_sr:
    current_bn1 = base_bn1
    current_bn2 = base_bn2
else:
    current_bn1 = coor_cover(base_sr, base_bn1, current_sr)
    current_bn2 = coor_cover(base_sr, base_bn2, current_sr)


def click(position):
    shell = f"adb shell input tap {position[0]} {position[1]}"
    os.system(shell)


# 啟動淘寶
os.system("adb shell am start -n com.taobao.taobao/com.taobao.tao.TBMainActivity")
time.sleep(7)

# 點選首頁領淘金幣按鈕
click(current_bn1)
time.sleep(5)

# 點選淘金幣頁的“簽到領取”,但實際上不用點選這個按鈕也是能領到淘金幣的
# click(current_bn2)
# print(current_bn2)

相關文章