python实现打开手机app并点击操作
第一部分:打开应用
第一步:安装Android SDK
(1)下载
(2)添加环境变量
将下载好的压缩包文件解压,路径尽量不要包含中文字符
右键点击我的电脑–>属性–>高级系统设置–>环境变量–>选中系统环境变量中的Path–>编辑–>新建–>输入第一步的解压路径–>一路确定
打开cmd窗口,输入adb version,如下即安装成功
第二步:调试手机,连接电脑
(1)使用USB线将电脑与手机相连
(2)将手机调制开发模式
- 可以到「设置」-「开发者选项」-「Android 调试」查看
- 如果在设置里找不到开发者选项,在「设置」-「关于手机」连续点击「版本号」7 次
(3)打开手机USB调试
- 可以到「系统和更新」-「开发人员选项」-「USB调试」
(4)验证是否连接成功
- 打开cmd窗口
- 输入adb devices,如下即连接成功
第三步:寻找应用入口,重中之重,决定后续能否继续进行
(1)使用adb命令获取所有安装的app包名
adb shell pm list packages
..... package:com.huawei.lbs package:com.android.bluetooth package:com.android.providers.contacts package:com.netease.cloudmusic package:tv.danmaku.bili # 作为测试数据 package:com.android.captiveportallogin package:com.huawei.audioaccessorymanager package:com.huawei.hiaction package:com.huawei.trustedthingsauth package:com.eg.android.AlipayGphone package:com.huawei.android.airsharing package:cn.wps.moffice_eng package:com.free.player package:com.huawei.rcsserviceapplication package:com.huawei.ohos.famanager .....
(2)获取某个应用包名的启动入口
adb shell dumpsys package tv.danmaku.bili | findstr activity
5106328 tv.danmaku.bili/com.alibaba.cloudgame.joystick.ui.activity.JoystickGroupActivity filter 51a3fc3
第四步:启动该应用
adb shell am start -n tv.danmaku.bili/com.alibaba.cloudgame.joystick.ui.activity.JoystickGroupActivity
第二部分:app元素定位
第一步:安装uiautomator2
谷歌公司进行UI自动化测试工具uiautomator的Python版本,功能类似浏览器F12中可以根据ID找到UI元素的位置,并做出相应的手势动作模拟人为操作
pip install --pre -U uiautomator2
第二步:给手机安装atx-agent
首先设备连接到PC,并能够adb devices发现该设备(参考adb工具安装步骤),安装完成后手机上会出现一个黄色小汽车ATX应用
python -m uiautomator2 init
第三步:安装控件定位工具,帮助我们获取屏幕中的控件
针对Android和iOS原生应用快速定位元素坐标,自动生成代码并点击运行
pip install --pre weditor # 如果报错,直接指定低版本安装 pip install weditor==0.6.4
第四步:启动weditor
该应用会在本地起一个服务,监听端口17310,自动打开一个浏览器窗口,将我们手机投射到该窗口,在右边可以直接写代码
python -m weditor
C:\Users\fatpuffer>python -m weditor listening on http://192.168.0.108:17310 [I 220414 21:08:22 web:2246] 304 GET / (::1) 9.37ms [I 220414 21:08:24 web:2246] 304 GET /cdn.jsdelivr.net/bootstrap/3.3.7/css/bootstrap.min.css (::1) 1389.65ms [I 220414 21:08:24 web:2246] 304 GET /unpkg.com/element-ui/lib/theme-chalk/index.css (::1) 6.68ms [I 220414 21:08:24 web:2246] 304 GET /static/libs/css/buttons.css (::1) 5.98ms [I 220414 21:08:24 web:2246] 304 GET /static/libs/fontawesome/css/font-awesome.min.css (::1) 5.99ms [I 220414 21:08:24 web:2246] 304 GET /cdn.jsdelivr.net/bootstrap.select/1.12.2/css/bootstrap-select.min.css (::1) 7.98ms [I 220414 21:08:24 web:2246] 304 GET /cdn.jsdelivr.net/npm/jstree@3.3.8/dist/themes/default/style.min.css (::1) 8.96ms
第五步:学习uiautomator2语法,实现app自动点击
栏 目:Python代码
下一篇:python实现简单日期工具类
本文标题:python实现打开手机app并点击操作
本文地址:http://www.codeinn.net/misctech/219636.html