今天把领淘金币的代码写完了,目前可以适应不同的分辨率,原理是模拟手去点击,就相当于手机上运行个按键精灵。
使用前提:
# _*_ 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)