您好,登錄后才能下訂單哦!
2019雙十一,tb推出了新的活動,商店喵幣,看了一下每天都有幾個任務來領取喵幣,從而升級店鋪賺錢,然而我既想賺紅包又不想干苦力,遂使用python來進行手機自動化操作,目測全網首發!
用到的庫:
re
os
time
思路:
import os,re import time print('-----ctrl+c終止程序-----------') task=int(input('請輸入任務個數:')) chose=int(input('請選擇自定位[1]或手動輸入[2]:')) print('author:劉秉哲') list=[] list1=[] def go(x,y): for i in range(task+1): os.system('adb shell input tap {} {}'.format(x,y))#觸摸店鋪按鈕 print('---開始任務---') time.sleep(4) os.system('adb shell input tap {} {}'.format(1,1))#模擬滑動界面 print('---等待25秒---') time.sleep(25) print('---領取完成---') time.sleep(4) os.system('adb shell input keyevent 4') time.sleep(4) #os.system('adb shell input tap 518 2202') print('第{}任務領取完成'.format(i+1)) print('______________________') def go_2(): try: print('獲取坐標中') file = os.listdir('.') if os.path.exists('123.txt'): #if (i.endswith('.txt')):#判斷當前文件是否有123.txt c=open('123.txt',encoding='UTF-8') a=c.read() #正則尋找去進店的按鈕位置 d=re.search('<node index="2" text="去進店"(.*?)/>',a).groups() f=re.search(' bounds="(.*?)"',str(d)).groups() g=re.search('\[(.*?)\]',f[0]).group(1) list.append(g.split(','))#將坐標添加到列表 else: try:#這里兩次獲取xml,以防獲取的第一個為安卓非IDE情況下的xml os.system('adb shell uiautomator dump /sdcard/ui.xml') time.sleep(2) os.system('adb shell uiautomator dump /sdcard/ui.xml') os.system('adb pull /sdcard/ui.xml 123.txt') size=get_FileSize('123.txt')#123.txt是淘寶喵幣任務頁面的布局 if size>=0.03:#第一次獲取ui會出現文件非淘寶苗幣的xml file = os.listdir('.') c=open('123.txt',encoding='UTF-8') a=c.read() d=re.search('<node index="2" text="去進店"(.*?)/>',a).groups() f=re.search(' bounds="(.*?)"',str(d)).groups() g=re.search('\[(.*?)\]',f[0]).group(1) list.append(g.split(',')) print('獲取成功') else: print('xml文件錯誤正在重新下載,請勿翻動手機界面') os.remove('123.txt') go_2() except: print('錯誤') go_2() except: print('error,正在重新獲取') def get_FileSize(filePath): fsize = os.path.getsize(filePath) fsize = fsize/float(1024 * 1024) return round(fsize, 2) if chose==1: try: go_2() print("當前坐標:{},{}".format(list[0][0],list[0][1])) go(int(list[0][0])+20,int(list[0][1])+20) except: print('error') if chose==2: x=int(input('請輸入任務X坐標:')) y=int(input('請輸入任務y坐標:')) go(x,y)
PS:代碼部分命名倉促,見諒。
1 腳本1功能自動獲取下X,Y坐標,大概率成功,小概率需要自行通過2功能修改。
2 腳本還有不足之處,歡迎指出。
3 123.txt是當前淘寶喵幣頁面的安卓布局,里面有當前的布局及其按鈕位置 。
4 當你想為另一臺手機在同一臺電腦上運行的時候,請手動刪除123.txt,手機型 號不同,布局不同。
問題與難點:
1 實現tb按鈕的自定位
2 小幾率出現返回任務界面 20個任務會消失(網速和手機性能影響)
3 部分手機會出現坐標定位后,手機無反應,請根據提示的當前坐標,選擇2功能,然后將坐標數增減10進行調試
4 error: device not found :手機沒有正確連接至電腦(檢查adb)
5 檢查當前文件夾下的123.TXT 的大小是否在30KB以上,在10KB一下說明獲取失敗,刪除123.txt,重新打開軟件獲取(未知bug)
6 ERROR: null root node returned by UiTestAutomationBridge. 安卓P以上的bug 請多次開關程序
7 腳本不可與adb文件夾(platform-tools)分離,否則無法運行!
8 出現閃退請多次開關程序
2功能可以用于20個任務下面的其他瀏覽任務,坐標可在123.txt中找到也可在開發者指針位置定位,這里不在贅述。
這里也有封裝成exe的,可直接使用,歡迎體驗:
http://xiazai.jb51.net/201910/yuanma/platform-tools.rar
adb組件單獨下載:
http://xiazai.jb51.net/201910/yuanma/platform_adb.rar
總結
以上所述是小編給大家介紹的Python自動化完成tb喵幣任務操作方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。