中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

如何用Python操控手機APP

發布時間:2021-10-28 18:28:46 來源:億速云 閱讀:865 作者:柒染 欄目:編程語言

今天就跟大家聊聊有關如何用Python操控手機APP,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

最近經常看到用Python操作手機APP的項目,例如抖音、閑魚之類的,看完后發現這些項目無一例外需要部署ADB環境。至于什么是ADB,很多大神都講過,只是寫得比較專業,我等菜鳥看完還是云里霧里。

為了使沒有安卓開發經驗的人也能快速學會用Python操作手機APP,我從Android SDK部署、ADB基礎應用、Python操作手機等方面入手寫了這篇文章,目的是使大家對ADB的使用有一個直觀的認識,這樣在玩上面提到的這些項目時會更輕松一些。

事先聲明:本文涉及的各類操作可能有多種實現方法,我只會提及其中一種,而且我采取的方法很有可能不是最優的方法。

1.Android SDK下載和部署

說起Android SDK工具,那還真是不少,有SDK Tools、SDK、Platform-tools等等,這里我推薦SDK Tools,進入https://www.androiddevtools.cn/這個網站可以看到下圖中的界面,選擇自己對應的系統版本(zip版)下載。

如何用Python操控手機APP

將下載后的文件解壓縮,運行其中的SDK Manager.exe文件,進入Packages安裝管理界面,對于新手朋友們我建議直接使用默認選項,然后點擊右下角的 Install XX packages 按鈕,整個下載安裝過程大概需要幾十分鐘,具體時間跟個人網速有關。

如何用Python操控手機APP

接著就是配置環境變量了,把android-sdk目錄下的platform-tools和tools文件夾添加到系統變量中,這一步屬于常規操作,我就不再演示了。

執行完以上步驟,ADB環境就算配置完畢了,之后要做的就是開啟手機的開發者選項、開啟USB調試、用usb線將手機跟電腦鏈接。

下面進入關鍵的一步——通過ADB測試手機是否連接成功。進入系統終端,輸入adb devices指令,如果出現下圖中的結果,就說明剛才的環境部署成功了,其中device前面的是連接的設備號。

如何用Python操控手機APP

如果連接測試不成功,例如找不到設備或者設備連接不上,可以依次嘗試關閉并再次開始調試、重啟手機、重啟電腦、插拔USB線等操作,通常都可以解決。

2.ADB的一些基本操作

雖說是基本操作,但ADB的命令也還是挺多的,說多了大家一時也難以消化。所以我這里只列舉幾個操作手機APP常用的指令,都是一些基本的操作。

1).顯示所有包名

adbshellpmlistpackages

這個指令會羅列出手機已經安裝的所有應用包的名稱,如果后綴加上參數-s,則會列出所有的系統應用的名稱(下圖),而加上后綴參數-3則會列出所有第三方應用名稱。


2).顯示活動程序

adbshelldumpsys activity activities

這個指令能夠獲取到當前手機系統中正在運行的程序包的名稱,例如當我在手機中啟動小米手機的“游戲中心”,運行上述指令就會獲取到下圖中的信息:

如何用Python操控手機APP

圖中realActivity后面的參數就是當前正在運行的Activity名稱,稍微留意一下就會發現,這個名稱相比上面的包名稱要更加詳細一些,至于這個名稱有什么用,我們馬上就會提到。


3).啟動應用程序

adbshellamstart -n 要啟動的應用Activity名稱

這里所使用的Activity名稱就是剛才獲取到的realActivity后面的參數,使用這個指令時要注意,啟動APP一定要使用上一條命令獲取到的Activity名稱,不能使用adb shell pm list packages命令獲取到的包名稱。例如,我們如果要啟動小米的游戲中心,可以使用命令:

adbshellamstart -ncom.xiaomi.gamecenter/.ui.MainTabActivity

而如果使用了下面這條命令是無法順利啟動應用的:

adbshellamstart -ncom.xiaomi.gamecenter

4).停止應用程序

adb shell am force-stop 要停止的應用名稱

這條指令會強制停止指定的應用程序,跟程序的啟動略有差別,在停止應用時,使用adb shell pm list packages命令獲取到的包名稱就可以了。還是以小米的游戲中心為例,停止應用使用以下指令:

adbshellamforce-stopcom.xiaomi.gamecenter


5).點擊指定位置

adbshellinputtapxy

這條指令就很好理解了,模擬點擊手機屏幕中的某個位置,(x,y)是對應的位置坐標。在ADB中默認手機屏幕的左上角坐標是(0,0),右下角坐標是(xmax,ymax)。

這里強調一點:使用模擬點擊功能必須設置手機允許通過USB調試修改權限或點擊模擬,下文中的滑動手機屏幕、輸入文字信息等功能也需要進行同樣設置。


6).滑動手機屏幕

adbshellinputswipe x_start y_start x_end y_end

這條指令的本質是使得坐標為(x_start, y_start)的點移動到(x_end, y_end)的坐標位置,以此來實現屏幕滑動的效果。

7).輸入文字信息

adbshellinputtext 需要輸入的字符

這條指令沒什么好說明的,選定對應位置,然后輸入對應的字符即可。

8).模擬手機按鍵

adbshellinputkeyeventX

現在的大部分手機除了常規鍵盤字符以外還有一些特殊按鍵,例如HOME鍵、音量+/-,以及軟鍵盤中有時會出現的確認鍵等等,這些按鍵的模擬就可以通過上面這條指令來實現。

其中X對應的是特殊鍵的編號,下面舉幾個常用的例子(其他的特殊鍵還有很多):

  • 3對應的是HOME鍵

  • 24對應的是音量+

  • 25對應的是音量-

  • 66對應的是確認鍵

9).獲取元素位置

細心的朋友現在可能會發現,上面提到的一些關于模擬點擊、模擬輸入的命令,都涉及到手機元素定位的問題,那么我們在實踐中如何確定具體的坐標位置和元素信息呢?這里我提議使用uiautomatorviewer.bat這個工具,它會隨著SDK Tools一起安裝,就在tools目錄下。

來看下面這幅圖,手機連接成功后,點擊左上角的綠色圖標就會獲取到手機的當前頁面信息,然后在屏幕左側可以點選任意位置或者元素,相關信息會在右側屏幕中顯示。

如何用Python操控手機APP

是不是感覺跟用chrome分析網頁非常類似,有了這些信息,再使用上面提到的幾款指令操作手機就不是問題了。

3.Python操控手機App

1).命令行操控

前面講了ADB操控手機的一些基本操作,只有理論未免太枯燥,現在我們做個小試驗來看看效果。

我們還是以小米的游戲中心為例,使用ADB依次完成以下任務:

  • 切換到“網游”選項卡,指令:adb shell input tap 400 263

  • 選中搜索欄,指令:adb shell input tap 776 139

  • 輸入“wangzherongyao”,指令:adb shell input text wangzherongyao

  • 點擊確認鍵,指令:adb shell input keyevent 66

  • 進入王者榮耀游戲頁面,指令:adb shell input tap 600 500

2).Python腳本操控

從上面的演示視頻看,使用ADB操作手機APP還算比較成功,但是如果像剛才那樣逐條輸入指令,可能還不如直接操作手機來的方便,那么我們就需要借助Python腳本使其批量化、自動化運行。

Python執行終端指令可以借助os.system()函數,我們來看下面這段代碼:

如何用Python操控手機APP

上面代碼所實現的功能跟我們之前演示的基本一樣,主要增加了一個打開游戲中心的操作、簡化了一些中間步驟。

看完上述內容,你們對如何用Python操控手機APP有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

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

AI

龙陵县| 临安市| 丹棱县| 巨野县| 米林县| 博湖县| 东乡族自治县| 彭水| 兴业县| 安顺市| 延寿县| 邯郸县| 北票市| 怀化市| 九台市| 昭觉县| 奉新县| 南汇区| 巴东县| 阿城市| 安徽省| 咸阳市| 精河县| 大宁县| 顺平县| 福鼎市| 砀山县| 六枝特区| 油尖旺区| 东丰县| 康乐县| 都匀市| 兰坪| 张家界市| 邹城市| 普定县| 吉首市| 阜康市| 嵩明县| 巢湖市| 普格县|