溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python自動化完成tb喵幣任務(wù)的操作方法

發(fā)布時間:2020-10-09 14:01:39 來源:腳本之家 閱讀:150 作者:菜鳥上路_lbz 欄目:開發(fā)技術(shù)

2019雙十一,tb推出了新的活動,商店喵幣,看了一下每天都有幾個任務(wù)來領(lǐng)取喵幣,從而升級店鋪賺錢,然而我既想賺紅包又不想干苦力,遂使用python來進(jìn)行手機(jī)自動化操作,目測全網(wǎng)首發(fā)!

用到的庫:

re
os
time

思路:

  1. 下載adb命令安裝包
  2. 打開手機(jī)開發(fā)者選項(點擊系統(tǒng)設(shè)置,連點5次系統(tǒng)版本,即可在輔助功能或其他選項中找到開發(fā)者選項,此功能無害,可不必關(guān)閉)
  3. 在開發(fā)者選項中找到USB調(diào)試打開(反是有USB字樣選項的全部同意,有提示風(fēng)險也同意,PS:自己操作雞毛風(fēng)險沒有,在一些商廈的有免費充電樁,若此充電樁提示請求USB調(diào)試請拒絕,此行為是風(fēng)險操作,有可能獲取隱私?。?/li>
  4. 手機(jī)連接電腦
  5. 5. 將僅限USB充電調(diào)至MIDI模式(部分手機(jī)有,任務(wù)欄下拉) (部分手機(jī)在僅充電模式下無法連接)
  6. 調(diào)至tb喵幣做任務(wù)界面
  7. 將.py文件移動至adb文件夾目錄下
  8. 在開發(fā)者界面下打開指針位置
  9. 填入X,Y坐標(biāo)
  10. 運行腳本
import os,re
import time
print('-----ctrl+c終止程序-----------')
task=int(input('請輸入任務(wù)個數(shù):'))
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('---開始任務(wù)---')
 time.sleep(4)
 os.system('adb shell input tap {} {}'.format(1,1))#模擬滑動界面
 print('---等待25秒---')
 time.sleep(25)
 print('---領(lǐng)取完成---')
 time.sleep(4)
 os.system('adb shell input keyevent 4')
 time.sleep(4)
 #os.system('adb shell input tap 518 2202')
 print('第{}任務(wù)領(lǐng)取完成'.format(i+1))
 print('______________________')
def go_2():
 try:
 print('獲取坐標(biāo)中')
 file = os.listdir('.') 
 if os.path.exists('123.txt'):
 #if (i.endswith('.txt')):#判斷當(dāng)前文件是否有123.txt
 c=open('123.txt',encoding='UTF-8')
 a=c.read()
 #正則尋找去進(jìn)店的按鈕位置
 d=re.search('<node index="2" text="去進(jìn)店"(.*?)/>',a).groups()
 f=re.search(' bounds="(.*?)"',str(d)).groups()
 g=re.search('\[(.*?)\]',f[0]).group(1)
 list.append(g.split(','))#將坐標(biāo)添加到列表
 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是淘寶喵幣任務(wù)頁面的布局
 if size>=0.03:#第一次獲取ui會出現(xiàn)文件非淘寶苗幣的xml 
 file = os.listdir('.') 
 c=open('123.txt',encoding='UTF-8')
 a=c.read()
 d=re.search('<node index="2" text="去進(jìn)店"(.*?)/>',a).groups()
 f=re.search(' bounds="(.*?)"',str(d)).groups()
 g=re.search('\[(.*?)\]',f[0]).group(1)
 list.append(g.split(','))
 print('獲取成功') 
 else:
 print('xml文件錯誤正在重新下載,請勿翻動手機(jī)界面')
 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("當(dāng)前坐標(biāo):{},{}".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('請輸入任務(wù)X坐標(biāo):'))
 y=int(input('請輸入任務(wù)y坐標(biāo):'))
 go(x,y)

PS:代碼部分命名倉促,見諒。

1 腳本1功能自動獲取下X,Y坐標(biāo),大概率成功,小概率需要自行通過2功能修改。

2 腳本還有不足之處,歡迎指出。

3 123.txt是當(dāng)前淘寶喵幣頁面的安卓布局,里面有當(dāng)前的布局及其按鈕位置 。

4 當(dāng)你想為另一臺手機(jī)在同一臺電腦上運行的時候,請手動刪除123.txt,手機(jī)型 號不同,布局不同。

問題與難點:

1 實現(xiàn)tb按鈕的自定位

2 小幾率出現(xiàn)返回任務(wù)界面 20個任務(wù)會消失(網(wǎng)速和手機(jī)性能影響)

3 部分手機(jī)會出現(xiàn)坐標(biāo)定位后,手機(jī)無反應(yīng),請根據(jù)提示的當(dāng)前坐標(biāo),選擇2功能,然后將坐標(biāo)數(shù)增減10進(jìn)行調(diào)試

4 error: device not found :手機(jī)沒有正確連接至電腦(檢查adb)

5 檢查當(dāng)前文件夾下的123.TXT 的大小是否在30KB以上,在10KB一下說明獲取失敗,刪除123.txt,重新打開軟件獲?。ㄎ粗猙ug)

6 ERROR: null root node returned by UiTestAutomationBridge. 安卓P以上的bug 請多次開關(guān)程序

7 腳本不可與adb文件夾(platform-tools)分離,否則無法運行!

8 出現(xiàn)閃退請多次開關(guān)程序

Python自動化完成tb喵幣任務(wù)的操作方法

Python自動化完成tb喵幣任務(wù)的操作方法

2功能可以用于20個任務(wù)下面的其他瀏覽任務(wù),坐標(biāo)可在123.txt中找到也可在開發(fā)者指針位置定位,這里不在贅述。

這里也有封裝成exe的,可直接使用,歡迎體驗:

http://xiazai.jb51.net/201910/yuanma/platform-tools.rar

adb組件單獨下載:

http://xiazai.jb51.net/201910/yuanma/platform_adb.rar

總結(jié)

以上所述是小編給大家介紹的Python自動化完成tb喵幣任務(wù)操作方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對億速云網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI