快速上手
简介
hyuiauto
是基于Python的 图形界面应用自动化库。
长期目标是实现 移动应用, 电脑应用的界面自动化。
目前先实现一部分 安卓手机自动化的功能
和其它UI界面自动化库不同,hyuiauto 不涉及系统的UI底层引擎和自动化库, 而是采用AI识别文字的方式进行自动化。
所以能做到 更广泛的自动化, 比如 微信/支付宝 小程序 等等, 只要是根据文字界面进行操作的,基本都可以。
您需要高效学习,找工作? 点击咨询 报名实战班
点击查看学员就业情况
安装
绿色解压版(Windows)
安装本来很简单,但是其依赖的AI识别库,安装往往会有各种问题。
如果你想快速使用, 直接下载做好的绿色解压包( 包含了整个Python解释器,和需要安装的库),解压后,使用里面的Python,执行你的代码即可。
目前只提供 Windows
环境下的
下载地址:https://pan.baidu.com/s/1Daf4ymj9lRBlqmh8eLAzGg?pwd=1111
自己安装
安装 百度 PaddleOCR
hyuiauto经常需要识别屏幕上的文本,缺省使用 百度 PaddleOCR
目前(2024/01/01), 安装PaddleOCR
时,需要安装很多依赖的库,
对于 3.10
以上版本的Python解释器,有些依赖的库,没有编译好的Wheel,需要本地编译安装,从而带来各种问题。
经过一番尝试(折腾),目前建议使用 Python3.10
解释器,
先安装 paddlepaddle
,目前建议 2.5.2
版本,执行如下命令
然后安装 PaddleOCR
库,目前建议安装 paddleocr 2.7.0.3
版本。
执行如下命令,
这个库依赖好多其它的库,会同时下载安装。
安装 hyuiauto
很简单,执行如下命令即可
hyuiauto 需要 Python解释器为 3.9 或者更新的版本
安装 adb ( 非Windows环境)
hyuiauto 自动化需要 adb
hyuiauto包 内置了 Windows
的 adb 程序,如果是Windows系统,不需要你额外再安装了。
如果是 MacOS 或者 Linux 请自行安装好 adb , 并保证其所在目录在环境变量 PATH
中,执行 adb 可以直接访问到。
比如, 苹果 MacOS 上 可以通过 homebrew 安装,执行下面的命令即可
安装好后,连接手机到电脑上,执行
确保可以看到连接的手机信息
启动 hyuiauto安卓助手
安卓助手是一个图形界面工具,可以:
-
列出连接设备信息
-
查看手机上的应用package名称
-
查看常用代码模板
-
识别屏幕指定区域的文字,预先了解识别结果
可以方便我们快速开发代码
命令行执行如下命令,打开 hyuiauto安卓助手
大家连接好安卓手机, 确保打开 开发者模式
,并且开发一些调试选项。
如果没有这方面操作经验, 请点击这里参考我的Appium 教程中如何操作的说明。
然后,点击工具界面上 列出安卓设备
。 这会启动 adb服务, 系统可能会弹出防火墙告警,选择 允许
即可。
如果手机是第一次连接此电脑,手机上会弹出是否允许此电脑调试本手机的 界面, 选择 允许
选中列出的安卓设备,界面右边会有 显示屏幕
的按钮,点击就会显示当前手机屏幕到界面上。
点击 文字识别
会将屏幕上包含的所有文字识别出来。
第一次执行文字识别时,PaddleOcr 会自动下载 AI模型包,命令行窗口会显示如下。并且初始化会花费一些时间,请耐心等待
download https://paddleocr.bj.bcebos.com/PP-OCRv4/chinese/ch_PP-OCRv4_det_infer.tar to C:\Users\jcyrs/.paddleocr/whl\det\ch\ch_PP-OCRv4_det_infer\ch_PP-OCRv4_det_infer.tar
100%|████████████████████████████████████████████████████████████████████████████| 4.89M/4.89M [00:03<00:00, 1.40MiB/s]
download https://paddleocr.bj.bcebos.com/PP-OCRv4/chinese/ch_PP-OCRv4_rec_infer.tar to C:\Users\jcyrs/.paddleocr/whl\rec\ch\ch_PP-OCRv4_rec_infer\ch_PP-OCRv4_rec_infer.tar
100%|████████████████████████████████████████████████████████████████████████████| 11.0M/11.0M [00:05<00:00, 1.94MiB/s]
download https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_cls_infer.tar to C:\Users\jcyrs/.paddleocr/whl\cls\ch_ppocr_mobile_v2.0_cls_infer\ch_ppocr_mobile_v2.0_cls_infer.tar
100%|████████████████████████████████████████████████████████████████████████████| 2.19M/2.19M [00:02<00:00, 1.06MiB/s]
代码示例
下面是一个自动化打开操作支付宝小程序 支付宝公益
的示例
from time import sleep
from hyuiauto import AndroidConnector
ac = AndroidConnector()
device = ac.device(manufacturer='samsung', model=None, sn=None)
# 打开支付宝首页
device.openApp('com.eg.android.AlipayGphone')
device.tapTextOnScreen('我的小程序', exact=False)
# device.waitForTextOnScreen('支付宝公益')
device.tapTextOnScreen('支付宝公益',range=(39, 401, 1008, 1100))
sleep(3)
# 点击搜索图标
device.tap(1000,300)
sleep(2)
# 点击左上角搜索框里面的搜索
device.tapTextOnScreen('搜索', range=(8, 262, 298, 409))
sleep(1)
device.inputString('困难家庭')
sleep(1)
# 点击右上角搜索
device.tapTextOnScreen('搜索', range=(823, 170, 1072, 519) )
sleep(2)
# 打印搜索结果
txt = device.screenToText(range=(5, 427, 1065, 2254))
print(txt)