亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

使用python來進行手機自動化操作的方法

發布時間:2020-07-31 14:25:13 來源:億速云 閱讀:885 作者:清晨 欄目:編程語言

這篇文章將為大家詳細講解有關使用python來進行手機自動化操作的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

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

用到的庫:

·re

·os

·time

思路:

(1)下載adb命令安裝包

(2)打開手機開發者選項(點擊系統設置,連點5次系統版本,即可在輔助功能或其他選項中找到開發者選項,此功能無害,可不必關閉)

(3)在開發者選項中找到USB調試打開(反是有USB字樣選項的全部同意,有提示風險也同意,PS:自己操作雞毛風險沒有,在一些商廈的有免費充電樁,若此充電樁提示請求USB調試請拒絕,此行為是風險操作,有可能獲取隱私!)

(4)手機連接電腦(部分手機在僅充電模式下無法連接)

(5)調至tb喵幣做任務界面

(6)將.py文件移動至adb文件夾目錄下

(7)在開發者界面下打開指針位置

(8)填入X,Y坐標

(9)運行腳本

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. 出現閃退請多次開關程序。

使用python來進行手機自動化操作的方法

使用python來進行手機自動化操作的方法

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

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

https://www.lanzous.com/i71giqd

adb組件單獨下載:

https://www.lanzous.com/i71gllg

關于使用python來進行手機自動化操作的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

贵溪市| 务川| 闻喜县| 平昌县| 玛曲县| 长顺县| 温泉县| 上蔡县| 盱眙县| 策勒县| 莲花县| 河北省| 龙里县| 博客| 南郑县| 无为县| 崇州市| 定兴县| 仙游县| 蓬溪县| 宁强县| 呼图壁县| 广宗县| 尚志市| 沅江市| 淮滨县| 美姑县| 陆丰市| 宜城市| 土默特右旗| 漳浦县| 家居| 泰顺县| 新安县| 镇坪县| 湟源县| 郎溪县| 万全县| 深水埗区| 枣庄市| 汽车|