hyuiauto 是基于Python的 图形界面应用自动化库。

快速上手

点击这里,边看视频讲解,边学习以下内容

简介

hyuiauto 是基于Python的 图形界面应用自动化库。

长期目标是实现 移动应用, 电脑应用的界面自动化。

目前先实现一部分 安卓手机自动化的功能

 

和其它UI界面自动化库不同,hyuiauto 不涉及系统的UI底层引擎和自动化库, 而是采用AI识别文字的方式进行自动化。

所以能做到 更广泛的自动化, 比如 微信/支付宝 小程序 等等, 只要是根据文字界面进行操作的,基本都可以。

您需要高效学习,找工作? 点击咨询 报名实战班

点击查看学员就业情况

安装

绿色解压版(Windows)

安装本来很简单,但是其依赖的AI识别库,安装往往会有各种问题。

如果你想快速使用, 直接下载做好的绿色解压包( 包含了整个Python解释器,和需要安装的库),解压后,使用里面的Python,执行你的代码即可。

目前只提供 Windows 环境下的

下载地址:https://pan.baidu.com/s/1Daf4ymj9lRBlqmh8eLAzGg?pwd=1111

注意

执行识别图片时,如果出现 DLL load failed while importing libpaddle: 找不到指定的模块, 请点击这里,下载安装微软的 C/C++ 运行时库。

如果出现 RuntimeError: (NotFound) Cannot open file c:\Users\你的中文用户名\.paddleocr\whl\det\ch\....., please confirm whether the file is norma1 , 应该是Windows的中文用户名 导致 模型下载路径 c:\Users\用户名\.paddleocr\ 里面的文件打不开, 换个英文登录账号试试。

自己安装

安装 百度 PaddleOCR

hyuiauto经常需要识别屏幕上的文本,缺省使用 百度 PaddleOCR

目前(2024/01/01), 安装PaddleOCR时,需要安装很多依赖的库,

对于 3.10 以上版本的Python解释器,有些依赖的库,没有编译好的Wheel,需要本地编译安装,从而带来各种问题。

经过一番尝试(折腾),目前建议使用 Python3.10 解释器,

 

先安装 paddlepaddle ,目前建议 2.5.2 版本,执行如下命令

pipinstallpaddlepaddle==2.5.2-ihttps://mirror.baidu.com/pypi/simple

 

然后安装 PaddleOCR 库,目前建议安装 paddleocr 2.7.0.3 版本。

执行如下命令,

pipinstallpaddleocr==2.7.0.3-ihttps://mirror.baidu.com/pypi/simple

这个库依赖好多其它的库,会同时下载安装。

安装 hyuiauto

很简单,执行如下命令即可

pipinstallhyuiauto-ihttps://mirror.baidu.com/pypi/simple

hyuiauto 需要 Python解释器为 3.9 或者更新的版本

安装 adb ( 非Windows环境)

hyuiauto 自动化需要 adb

 

hyuiauto包 内置了 Windows 的 adb 程序,如果是Windows系统,不需要你额外再安装了。

 

如果是 MacOS 或者 Linux 请自行安装好 adb , 并保证其所在目录在环境变量 PATH 中,执行 adb 可以直接访问到。

比如, 苹果 MacOS 上 可以通过 homebrew 安装,执行下面的命令即可

brewinstallandroid-platform-tools

 

安装好后,连接手机到电脑上,执行

adbdevices

确保可以看到连接的手机信息

启动 hyuiauto安卓助手

安卓助手是一个图形界面工具,可以:

  1. 列出连接设备信息

  2. 查看手机上的应用package名称

  3. 查看常用代码模板

  4. 识别屏幕指定区域的文字,预先了解识别结果

可以方便我们快速开发代码

 

命令行执行如下命令,打开 hyuiauto安卓助手

python -c "from hyuiauto.tools.server import *;runTool('androidtool')"

 

大家连接好安卓手机, 确保打开 开发者模式 ,并且开发一些调试选项。

如果没有这方面操作经验, 请点击这里参考我的Appium 教程中如何操作的说明。

 

然后,点击工具界面上 列出安卓设备 。 这会启动 adb服务, 系统可能会弹出防火墙告警,选择 允许 即可。

如果手机是第一次连接此电脑,手机上会弹出是否允许此电脑调试本手机的 界面, 选择 允许

 

选中列出的安卓设备,界面右边会有 显示屏幕 的按钮,点击就会显示当前手机屏幕到界面上。

 

点击 文字识别 会将屏幕上包含的所有文字识别出来。

第一次执行文字识别时,PaddleOcr 会自动下载 AI模型包,命令行窗口会显示如下。并且初始化会花费一些时间,请耐心等待

downloadhttps://paddleocr.bj.bcebos.com/PP-OCRv4/chinese/ch_PP-OCRv4_det_infer.tartoC:\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]
downloadhttps://paddleocr.bj.bcebos.com/PP-OCRv4/chinese/ch_PP-OCRv4_rec_infer.tartoC:\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]
downloadhttps://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_cls_infer.tartoC:\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)


原文地址:  https://www.byhy.net/etc/hyuiauto/01/

posted @   小林子哈哈  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示