1.目標場景
十一長假,相信大部分的朋友這會應(yīng)該是在全國各地浪或者是在浪的路上,朋友圈成為你們表演的場所。

當然,也有一小戳朋友是選擇家里蹲,你們是否感覺到無聊?是否想出去浪,參加朋友圈攝影比賽?
本篇文章的目的是利用 Python 帶我們實現(xiàn)一次 說走就走的環(huán)球旅行,完勝這次的朋友圈攝影比賽。
2.準備工作
在開始編寫腳本之前,需要做如下準備工作:
1、一部 Root 后的 Android 手機
2、配置好 Android ADB 開發(fā)環(huán)境
3、Python 虛擬環(huán)境內(nèi)安裝 pocoui 依賴庫
4、虛擬定位應(yīng)用 FackLocation
5、選好一個景點,下載對應(yīng)景點的一些照片,并準備一段優(yōu)秀的文字
3.編寫代碼
一共分6 個步驟來完成這次操作,分別是:通過位置拿到經(jīng)度和緯度、開啟虛擬定位服務(wù)、導(dǎo)入圖片到手機相冊、打開朋友圈、選擇相冊圖片、編輯內(nèi)容和選擇地理位置、發(fā)布朋友圈。
首先,利用 adb 命令拿到 FackLocation 和微信的應(yīng)用包名和 LaunchActivity。
拿到應(yīng)用包名和 LaunchActivity 之后,利用Airtest和Monitor工具可以非常方便的打開 FackLocation 應(yīng)用、添加地理位置。

到達搜索界面之后,由于搜索的結(jié)果在 Monitor 下找不到。

因此,這里借助開發(fā)者選項內(nèi)的 指針位置,拿到列表第一項的坐標,利用 adb 執(zhí)行點擊操作,既可以完成選擇經(jīng)緯度的操作。
第2步,通過元素文字內(nèi)容來判斷服務(wù)是否開啟,如果沒有開啟,就通過一次點擊操作,完成定位服務(wù)的開啟。
第3步,把 PC 端的圖片利用 adb push 命令導(dǎo)入到 手機相冊目錄 下。
需要注意的是,導(dǎo)入圖片后需要再 發(fā)送一次刷新廣播,相冊中才能找到這些圖片。
第 4 步,同樣是利用 Airtest 打開微信客戶端,然后自動化跳轉(zhuǎn)到朋友圈界面。
第5步,從手機相冊內(nèi)選擇圖片。

手機相冊的照片是按時間進行排序的,根據(jù)上面推送的圖片數(shù)目,選擇相冊的前面的 具體數(shù)目 的照片即可。
第6步,輸入文字內(nèi)容,并選擇具體的位置。

由于虛擬定位刷新的不及時,為了保證位置的準確性,連續(xù)進行兩次定位。
第 7 步,拿到頂部的發(fā)布按鈕,就可以 一鍵發(fā)布動態(tài)了。
比如,我在深圳就發(fā)了一條在北京 TAM 看 YB 的朋友圈。

4.結(jié)果結(jié)論
跟著上面的操作,就能實現(xiàn)全國任意一個景點,隨時隨地去玩這一騷操作。
【責任編輯:華軒 TEL:(010)68476606】