开始之前大概了解一下,这个目前可以用于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()#向上滑动