開始之前大概瞭解一下,這個目前可以用於app端一些爬蟲使用,調試不叫方便,配合mitmproxy使用,遠勝於appium。appium環境太複雜。
首先是安裝依賴庫。
adb傳送門百度網盤。提取碼:lfc7
- pip install --pre uiautomator2
- pip install pillow
- 需要安卓adb環境,並且確保已經啓動adb。
- 如果需要wifi調試需要安裝pip install --pre --upgrade weditor
- 啓動:python -m weditor(默認使用瀏覽器打開)
- 手機端打開usb調試(第一次需要連接usb線)。
- 執行:python -m uiautomator2 init
如上圖則表示init成功。 - 瀏覽器端看到
測試代碼如下
import uiautomator2 as u2
d = u2.connect_wifi('192.168.1.102')#手機端wifi地址
d.app_start("com.tencent.mm")#微信包簽名測試,啓動app
d(resourceId="com.tencent.mm:id/d3t", text=u"通訊錄").click()#通過id識別
d(resourceId="com.tencent.mm:id/a52").click()
d.swipe(0.5, 0.9, 0.5, 0.2)#滑動屏幕操作
d(resourceId="com.tencent.mm:id/a8s", text=u"進擊的Coder").click()#點擊關注的公衆號
d(resourceId="com.tencent.mm:id/jr").click()
d.swipe(0.5, 0.9, 0.5, 0.2)
d(resourceId="com.tencent.mm:id/azu").click()
其餘一些常用操作如下
d.app_install(' url ')#安裝應用
d.disable_popups() #自動跳過彈出窗口
d.disable_popups()#禁用自動跳過彈出窗口
d.info#獲取基本信息
d.window_size()#獲取窗口信息
d.screen_on()#打開
d.screen_off()#關閉
d.info.get(' screenOn ')#獲取當前屏幕信息
d.double_click(x,y)#雙擊
d.long_click(x,y)
d.long_click)X,Y,1)#長按1秒(默認)
d.press("home") #按鍵操作
d.press(x, y)
d(scrollable=True).scroll.vert.backward()#向上滑動