文章旨在学习和记录,若有侵权,请联系删除
文章目录
前言
本期主要介绍纯python实现的一个app自动化采集方案,模拟用户操作无视反爬,当遇见风控很严格的、逆向不出来的app时,可以尝试使用。
一、uiautomator2介绍
1.简介
uiautomator2是一个python库,用于Android的UI自动化测试,其底层基于Google uiautomator,Google提供的uiautomator库可以获取屏幕上任意一个APP的任意一个控件属性,并对其进行任意操作。
GitHub地址:https://github.com/openatx/uiautomator2
2. 安装
环境要求:python 3.6+、android 4.4+、adb
首先设备连接到PC,并能够adb devices发现该设备。
2.1. 安装uiautomator2
pip install --pre uiautomator2
2.2. 初始化电脑端
python -m uiautomator2 init
2.3. 初始化手机端
python -m uiautomator2 init --serial 'SERIAL' # 'SERIAL' 填入设备id
最后提示success,代表uiautomator2初始化成功,手机上会安装一个名ATX的小黄车应用。
3. 使用
先简单介绍下常用操作:
import uiautomator2 as u2
# USB链接设备
d = u2.connect_usb('123456789F') # 设备id
# 打开应用
d.app_start(pakagename) # app包名
# 点击
d.xpath('//*[@text="主页"]').click() # 选中并点击主页文字的对象
# 截图
d.screenshot()
# 滑到底部
d(scrollable=True).scroll