上一篇:Python控制手机02-adb控制手机(以微信跳一跳为例)
0)前言
前面我们尝试了使用adb命令来控制手机,那么为什么需要uiautomator2呢?
可以这么理解,adb命令控制手机,需要熟悉android命令,相对较为复杂。而uiautomator2相当于对android命令的模型化封装,使用起来更为方便。
这就类似python调用数据库的两种方式,一种是DB-API直接使用sql指令,另一种是ORM框架如SQLAlchemy。
1)配置uiautomator2
1.在命令行工具中安装uiautomator2
pip install --pre uiautomator2
或者
git clone https://github.com/openatx/uiautomator2
pip install -e uiautomator2
然后安装pillow库
pip install pillow
2.首先要完成adb环境配置,参考“python控制手机01-adb配置”
3.用数据线连接手机,打开USB调试功能
4.初始化uiautomator2
在cmd命令行输入
python -m uiautomator2 init
或者指定单个设备
python -m uiautomator2 init --serial $SERIAL
这时命令会自动安装本库所需要的设备端程序,也会在你的手机里安装两个软件一个可见一个不可见(有图标和没图标)手动点击安装即可
注意: 如果在操作的过程当中提示 no module xxx,可自行对照安装即可,如果出现其它情况请自行百度(祝好运!)
最后安装提示success即可
2)uiautomator2指令
参考https://blog.csdn.net/ricky_yangrui/article/details/81415365
3)可视化UI查看器
安装 weditor
pip install --pre -U weditor
在cmd命令行中输入
python -m weditor
会自动打开一个浏览器如图所示:
点击手机界面中的元素,然后在中间界面选择操作,下面就可以自动生成uiautomator2相关代码