pyaibote--安卓自动化环境配置与基础的使用方法

前言

欢迎来到我的博客

个人主页:北岭敲键盘的荒漠猫-CSDN博客

 pyaibote介绍

pyaibote是一个全新,强大的办公自动化库。

支持找图,识别像素等操作。

比appium快十倍。

文章介绍

 有大佬给我提到这个库后,我来查看。然后发现这个库太新了,以至于找遍全网愣是找不到几篇文章,于是打算整理出简要的内容来帮助学习使用。

但本人技术也是有限的,所以可能也不是很全,至少尽力吧。

本文主要讲从环境搭建到执行简要代码成功的过程。

资源列表

官网:RPA_办公自动化—Aibote

pyaibote文档:PyAibote

软件环境搭建

软件下载:

官网点击软件下载,下载这个

下载下来后解压

点击里面的这个程序(关闭360杀毒和360桌面)

点击后会进行初始化,自动帮我们配置好环境变量。(部分机型配置完毕需要重启)

如果再次点击不再进行初始化,就代表成功。

内置node不需要自己下载。

python环境搭建

我用的3.12版本python。3.10以下可能报错无法安装。

python用pip命令下载PyAibote

命令:pip3 install PyAibote -i https://pypi.tuna.tsinghua.edu.cn/simple

行了,配置好了。

是不是比appium快多了?

配置安卓手机

拿一块手机

开启开发者模式

点开设置->找关于手机(不同机型可能不同)(但有自动化基础的应该都会)

找到版本号(实在不行在设置里搜索这个)

猛点他就会开启开发者模式

然后找开发者选项

我的找不到,我搜索的。

打开USB调试。

配置完成

连接安卓手机

USB连接手机跟电脑。

安装软件

把aibote文件夹中的这个文件安装到手机中。

不会安装可以直接aibote官网下载投屏

开投屏直接拖进去。

连接内网

电脑和被控手机全部连接一个wifl。

看自己电脑的内网ip

把电脑ip在手机APP中配置好

记得把下面权限点上。

点启用输入法,把aibote输入法点上。

配置脚本

点配置脚本

脚本地址写刚才的内网。

端口号自己写,别被占用就行。点连接工具。

启动aibote.exe

开启电脑aibote.exe,与手机端取得连接。

连接成功

基本使用

找图工具使用

aibote.exe中点

上面写连接成功就可以用了。

点获取信息,然后在页面上点就能获得上面信息。

路径坐标像素范围应有尽有。

python脚本

测试脚本用这个

# 1. 导入 AndroidBotMain 类
from PyAibote import AndroidBotMain
import time


# 2. 自定义一个脚本类,继承 AndroidBotMain
class CustomAndroidScript(AndroidBotMain):
    # 2.1. 设置是否终端打印输出 DEBUG:输出, INFO:不输出, 默认打印输出
    Log_Level = "DEBUG"

    # 2.2. 终端打印信息是否存储LOG文件 True: 储存, False:不存储
    Log_Storage = True

    # 2.3. 注意:script_main 此方法是脚本执行入口必须存在此方法
    def script_main(self):
        # 显示手机最近任务列表
        result = self.recent_tasks()
        print(result)


if __name__ == '__main__':
    # 3. 注意:此处监听的端口号,必须和手机端的脚本端口号一致
    # 3.1 监听 8888 号端口
    CustomAndroidScript.execute("0.0.0.0",8888)

代码是指显示手机最近的任务列表。

代码有解析,我说一下他的主题和执行方法。(具体用法后面整理)

定义这个类,script_main方法是进入测试的开始方法。

我们要把手机执行的代码写到这个方法中。

下面开始执行代码的端口要跟手机上配置的一致。

我们运行脚本后他会进入等待。

现在我们手机点启动脚本就可以执行python代码。

我们还可以选上开启悬浮窗,这样就可以在我们指定的页面点悬浮窗启动脚本了。

我这也算是开创先河了吧。至少在csdn上没大有这样的文章。

可以给我一个点赞吗~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/579566.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Coursera: An Introduction to American Law 学习笔记 Week 04: Constitutional Law

An Introduction to American Law 本文是 https://www.coursera.org/programs/career-training-for-nevadans-k7yhc/learn/american-law 这门课的学习笔记。 文章目录 An Introduction to American LawInstructors Week 04: Constitutional LawKey Constitutional Law TermsSup…

redission原理笔记

加锁成功的线程,将UUID和线程id和key绑定, 加锁成功后,内部有一个看门狗机制,每隔十秒看下当前线程是否还持有锁,延长生存时间。 没有获取锁的就一直自旋等待,直到超时。 如果redis是主从同步的&#xff0…

Android Studio gradle 默认sourceSets配置

一. AS默认的sourceSets配置 sourceSets在Android插件中如何使用的:android {sourceSets {main {manifest.srcFile AndroidManifest.xmljava.srcDirs [src]resources.srcDirs [src]aidl.srcDirs [src]renderscript.srcDirs [src]res.srcDirs [res]assets.srcD…

Anti Rookit -- 检测隐藏进程

Anti Rookit 一:检测隐藏进程 引言 检测隐藏进程除了众所周知的枚举进程ID之外,还有枚举句柄表的方式。不过今天给大家带来的是第三种方法。 探究 应用层通过接口 C r e a t e P r o c e s s \textcolor{cornflowerblue}{CreateProcess} CreateProcess…

现代信号处理7_最小二乘(CSDN_20240428)

最小二乘法最早由高斯在18世纪提出,几百年以来,这种方法一直被广泛应用。 最小二乘简介 这里是研究最小二乘的起点。随机变量只能存在与理论计算中,我们在工程实践中对随机变量的认识与理论计算中得到的关于随机变量的各种性质相比&#xff…

Penpad 再获 Animoca Brands 投资,全新生态历程

Penpad是Scroll生态的LaunchPad & Yield Aggregator平台,该平台近日在融资上取得了系列进展。据悉,Penpad在前不久率先获得了来自于Gate Labs以及Scroll联合创始人Sandy Peng的融资,并且在近日,其又获得了来自于知名加密投资机…

Coursera: An Introduction to American Law 学习笔记 Week 01: Tort Law

An Introduction to American Law 本文是 https://www.coursera.org/programs/career-training-for-nevadans-k7yhc/learn/american-law 这门课的学习笔记。 文章目录 An Introduction to American LawInstructors SyllabusWeek 01: Tort LawKey Tort Law TermsTort Law: Part …

2024.阳光能源追光计划暨大陆考察团交流分享会

近日大陆考察团抵达香港,受到了本司热情接待和安排。公司于4月27日下午举办了阳光能源追光计划主题交流会。 会上公司营销部总监张超,分享了阳光能源近几年的能源发展之路及公司新推出的追光计划,得到了大陆考察交流团团长杨国均先生的高度赞…

CSS3(响应式布局)

#过渡# 属性连写: transition: width 2s linear 1s; //前一个时间用于表示过渡效果持续时间,后一个时间用于表示过渡效果的延迟。 #转换# #2D转换# 和 #3D转换# 注意:其中angle对应单位为:deg #圆角# #边框# …

java中的泛型(三)——通配符

在前面的文章中我们简要介绍了泛型的概念以及泛型类和泛型方法的使用。在介绍泛型时我们说过在在java中一般用E、T、K、V、N、?这几个字母和符号来表示泛型,对于前面的几个字符它们的使用没有区别,只要注意它们所代表的类型就好。而对于最后一个&#x…

Oracle集群-常用查询及操作(工作日常整理)

1.Oracle集群状态 select * from gv$instance; 示例结果: 2.Oracle集群-增大表空间 常见问题: 导入时或使用时,提示无法extend table ,增加表空间即可 常用操作: 1)查询表空间 select * from dba_tablespaces; --…

微信小程序[黑马笔记]

简介 常用组件 视图组件 <!--pages/list/list.wxml--><scroll-view class"container1" scroll-y><view>A</view><view>B</view><view>A</view></scroll-view><!--pages/list2/list.wxml--><swiper …

【禅道客户案例】同方智慧能源数智化转型新实践 禅道助力前行

同方智慧能源是同方股份有限公司的骨干企业。依托中核集团、清华大学的科技优势&#xff0c;坚持技术和资源双核驱动&#xff0c;基于30多年行业积淀&#xff0c;面向建筑、交通、工业、北方供热、数据中心等主要用能场景提供设计咨询、产品技术、投资建设、运营服务&#xff0…

设计模式学习笔记 - 项目实战一:设计实现一个支持各种算法的限流框架(实现)

概述 上篇文章&#xff0c;我们介绍了如何通过合理的设计&#xff0c;来实现框架的功能性需求的同时&#xff0c;满足易用、易扩展、灵活、低延迟、高容错等非功能性需求。在设计的过程中&#xff0c;我们也借鉴了之前讲过的一些开源项目的设计思想。比如 Spring 的低侵入松耦…

细致讲解——不同类型LSA是作用以及相互之间的联系

目录 一.常见的LSA类型 二.OSPF特殊区域 1.区域类型 2.stub区域和totally stub区域 &#xff08;1&#xff09;stub区域 &#xff08;2&#xff09;totally stub区域 3.nssa区域和totally nssa区域 &#xff08;1&#xff09;nssa区域 &#xff08;2&#xff09;totall…

【Android】SharedPreferences阻塞问题深度分析

前言 Android中SharedPreferences已经广为诟病&#xff0c;它虽然是Android SDK中自带的数据存储API&#xff0c;但是因为存在设计上的缺陷&#xff0c;在处理大量数据时很容易导致UI线程阻塞或者ANR&#xff0c;Android官方最终在Jetpack库中提供了DataStore解决方案&#xf…

微信小程序使用echarts实现条形统计图功能

微信小程序使用echarts组件实现条形统计图功能 使用echarts实现在微信小程序中统计图的功能&#xff0c;其实很简单&#xff0c;只需要简单的两步就可以实现啦&#xff0c;具体思路如下&#xff1a; 引入echarts组件调用相应的函数方法 由于需要引入echarts组件&#xff0c;代…

.net报错异常及常用功能处理总结(持续更新)

.net报错异常及常用功能处理总结---持续更新 1. WebApi dynamic传参解析结果中ValueKind Object处理方法问题描述方案1&#xff1a;(推荐&#xff0c;改动很小)方案2&#xff1a; 2.C# .net多层循环嵌套结构数据对象如何写对象动态属性赋值问题描述JavaScript动态属性赋值.net…

WebSocket通信协议

WebSocket是一种网络通信协议.RFC6455定义了它的通信标准 WebSocket是HTML5开始提供的一种在单个TCP连接上进行全双向通信的协议 HTTP协议是一种无状态的,无连接的,单向的应用层协议.它采用了请求,响应的模式.通信请求只能由客户端发起,服务端对请求做出应答处理. 这种模型有…

PO框架【自动化测试】

对象&#xff1a;Tpshop商城 需求&#xff1a;更换头像 操作步骤&#xff1a; 个人信息–头像–上传图片–图片确认–确认保存 核心代码&#xff1a; # 进入frame框架[不熟] driver.switch_to.frame(driver.find_element_by_xpath(//*[id"layui-layer-iframe1"]))…