Aibote.py 使用方法说明
软件地址
http://www.aibote.net
下载安装 Aibote.py
pip install AiBot.py
使用 AndroidBot 编写脚本
# 1. 导入 AndroidBotMain 类
from AiBot import AndroidBotMain
# 2. 自定义一个脚本类,继承 AndroidBotMain
class CustomAndroidScript(AndroidBotMain):
# 3. 设置等待参数
# 3.1 设置等待时间
wait_timeout = 3
# 3.2 设置重试间隔时长
interval_timeout = 0.5
# 4. 设置日志等级
log_level = "INFO" # "DEBUG"
# 5. 设置方法超时是否抛出异常
raise_err = False # True
# 6. 重写方法,编写脚本
# 注意:此方法是脚本执行入口
def script_main(self):
# 6.1 API 演示
# 注意:Python 版本支持的 Api 与 Nodejs 基本相同
# 教程中仅演示部分 Api,更多 Api 请自行探索,所有 Api 均包含详细的参数要求和返回值,请自行查看。
# 截图
self.save_screenshot("xxx.png")
# 获取坐标点颜色
self.get_color((100, 100))
# 查找图片
self.find_image("xxx.png")
# 点击坐标
self.click((100, 100))
# 滑动
self.swipe((100, 100), (200, 200), 3)
# 7. 执行脚本,Pycharm 中,直接右键执行
if __name__ == '__main__':
# 注意:此处监听的端口号,必须和手机端的脚本端口号一致;
# 监听 3333 号端口
CustomAndroidScript.execute(3333)
教程中仅演示部分 Api,更多 Api 请自行探索,所有 Api 均包含详细的参数要求和返回值,请自行查看。
使用 WinBot 编写脚本
# 1. 导入 WinBotMain 类
from AiBot import WinBotMain
# 2. 自定义一个脚本类,继承 WinBotMain
class CustomWinScript(WinBotMain):
# 3. 设置等待参数
# 3.1 设置等待时间
wait_timeout = 3
# 3.2 设置重试间隔时长
interval_timeout = 0.5
# 4. 设置日志等级
log_level = "INFO" # "DEBUG"
# 5. 设置方法超时是否抛出异常
raise_err = False # True
# 6. 重写方法,编写脚本
# 注意:此方法是脚本执行入口
def script_main(self):
# 6.1 API 演示
# 注意:Python 版本支持的 Api 与 Nodejs 基本相同
# 教程中仅演示部分 Api,更多 Api 请自行探索,所有 Api 均包含详细的参数要求和返回值,请自行查看。
# 查询所有窗口句柄
result = self.find_windows()
print(result) # ["1050010", "1050011", "1050012"]
# 查询指定窗口句柄
result = self.find_window(window_name="Ai-Bot 2群等9个会话")
print(result) # "1050010"
# 7. 执行脚本,Pycharm 中,直接右键执行
if __name__ == '__main__':
# 启动脚本,监听 6666 号端口
# local=True 时,是本地运行脚本,会自动启动 WindowsDriver.exe 驱动;
# 在远端部署脚本时,请设置 local=False,手动启动 WindowsDriver.exe,启动 WindowsDriver.exe 时需指定远端 IP 或端口号;
CustomWinScript.execute(6666, local=True)
教程中仅演示部分 Api,更多 Api 请自行探索,所有 Api 均包含详细的参数要求和返回值,请自行查看。文章来源:https://www.toymoban.com/news/detail-722601.html
使用 WebBot 编写脚本
import time
# 1. 导入 WebBotMain 类
from AiBot import WebBotMain
# 2. 自定义一个脚本类,继承 WebBotMain
class CustomWebScript(WebBotMain):
# 3. 设置等待参数
# 3.1 设置等待时间
wait_timeout = 3
# 3.2 设置重试间隔时长
interval_timeout = 0.5
# 4. 设置日志等级
log_level = "INFO" # "DEBUG"
# 5. 设置方法超时是否抛出异常
raise_err = False # True
# 6. 重写方法,编写脚本
# 注意:此方法是脚本执行入口
def script_main(self):
# 6. API 演示
# 注意:Python 版本支持的 Api 与 Nodejs 基本相同
# 教程中仅演示部分 Api,更多 Api 请自行探索,所有 Api 均包含详细的参数要求和返回值,请自行查看。
self.goto("https://www.baidu.com")
time.sleep(3)
self.new_page("https://www.qq.com")
time.sleep(3)
result = self.execute_script('(()=>"aibote rpa")()')
print(result) # aibote rpa
# 7. 执行脚本,Pycharm 中,直接右键执行
if __name__ == '__main__':
# 启动脚本,监听 9999 号端口
# 默认使用 Chrome 浏览器
# local=True 时,是本地运行脚本,会自动启动 WebDriver.exe 驱动;
# 在远端部署脚本时,请设置 local=False,手动启动 WebDriver.exe,启动 WebDriver.exe 时需指定远端 IP 或端口号;
# 如本地部署脚本,需要传递 WebDriver 启动参数时,参考下面方式,如不需传递启动参数,则忽略:
driver_params = {
"browserName": "chrome",
"debugPort": 0,
"userDataDir": "./UserData",
"browserPath": None,
"argument": None,
}
CustomWebScript.execute(9999, local=True, driver_params=driver_params)
教程中仅演示部分 Api,更多 Api 请自行探索,所有 Api 均包含详细的参数要求和返回值,请自行查看。文章来源地址https://www.toymoban.com/news/detail-722601.html
AndroidBot开发手册
图色
def save_screenshot(image_name: str, region: _Region = None, algorithm: _Algorithm = None) -> Optional[str]:
"""
保存截图,返回图片地址(手机中)或者 None
:param image_name: 图片名称,保存在手机 /storage/emulated/0/Android/data/com.aibot.client/files/ 路径下;
:param region: 截图区域,默认全屏;
:param algorithm: 处理截图所用算法和参数,默认保存原图;
:return:
# 区域相关参数
region = (0, 0, 0, 0) 按元素顺序分别代表:起点x、起点y、终点x、终点y,最终得到一个矩形。
# 算法相关参数
algorithm = (0, 0, 0) # 按元素顺序分别代表:algorithm_type 算法类型、threshold 阈值、max_val 最大值。
threshold 和 max_val 同为 255 时灰度处理.
0 THRESH_BINARY 算法,当前点值大于阈值 threshold 时,取最大值 max_val,否则设置为 0;
1 THRESH_BINARY_INV 算法,当前点值大于阈值 threshold 时,设置为 0,否则设置为最大值 max_val;
2 THRESH_TOZERO 算法,当前点值大于阈值 threshold 时,不改变,否则设置为 0;
3 THRESH_TOZERO_INV 算法,当前点值大于阈值 threshold 时,设置为 0,否则不改变;
4 THRESH_TRUNC 算法,当前点值大于阈值 threshold 时,设置为阈值 threshold,否则不改变;
5 ADAPTIVE_THRESH_MEAN_C 算法,自适应阈值;
6 ADAPTIVE_THRESH_GAUSSIAN_C 算法,自适应阈值;
"""
def save_element_screenshot(image_name, xpath) -> Optional[str]:
"""
保存元素截图,返回图片地址(手机中)或者 None
:return:
"""
def get_color(point: _Point_Tuple) -> Optional[str]:
"""
获取指定坐标点的色值,返回色值字符串(#008577)或者 None
:param point: 坐标点;
:return:
"""
找图
def find_color(color: str, sub_colors: _SubColors = None, region: _Region = None, similarity: float = 0.9,
wait_time: float = None, interval_time: float = None, raise_err: bool = None) -> Optional[_Point]:
"""
获取指定色值的坐标点,返回坐标或者 None
:param color: 颜色字符串,必须以 # 开头,例如:#008577;
:param sub_colors: 辅助定位的其他颜色;
:param region: 在指定区域内找色,默认全屏;
:param similarity: 相似度,0-1 的浮点数,默认 0.9;
:param wait_time: 等待时间,默认取 .wait_timeout;
:param interval_time: 轮询间隔时间,默认取 .interval_timeout;
:param raise_err: 超时是否抛出异常;
:return:
# 区域相关参数
region = (0, 0, 0, 0) 按元素顺序分别代表:起点x、起点y、终点x、终点y,最终得到一个矩形。
# 算法相关参数
algorithm = (0, 0, 0) # 按元素顺序分别代表:algorithm_type 算法类型、threshold 阈值、max_val 最大值。
threshold 和 max_val 同为 255 时灰度处理.
0 THRESH_BINARY 算法,当前点值大于阈值 threshold 时,取最大值 max_val,否则设置为 0;
1 THRESH_BINARY_INV 算法,当前点值大于阈值 threshold 时,设置为 0,否则设置为最大值 max_val;
2 THRESH_TOZERO 算法,当前点值大于阈值 threshold 时,不改变,否则设置为 0;
3 THRESH_TOZERO_INV 算法,当前点值大于阈值 threshold 时,设置为 0,否则不改变;
4 THRESH_TRUNC 算法,当前点值大于阈值 threshold 时,设置为阈值 threshold,否则不改变;
5 ADAPTIVE_THRESH_MEAN_C 算法,自适应阈值;
6 ADAPTIVE_THRESH_GAUSSIAN_C 算法,自适应阈值;
"""
def find_image(image_name, region: _Region = None, algorithm: _Algorithm = None, similarity: float = 0.9,
wait_time: float = None, interval_time: float = None, raise_err: bool = None) -> Optional[_Point]:
"""
寻找图片坐标,在当前屏幕中寻找给定图片中心点的坐标,返回坐标或者 None
:param image_name: 图片名称(手机中);
:param region: 从指定区域中找图,默认全屏;
:param algorithm: 处理屏幕截图所用的算法,默认原图,注意:给定图片处理时所用的算法,应该和此方法的算法一致;
:param similarity: 相似度,0-1 的浮点数,默认 0.9;
:param wait_time: 等待时间,默认取 .wait_timeout;
:param interval_time: 轮询间隔时间,默认取 .interval_timeout;
:param raise_err: 超时是否抛出异常;
:return:
# 区域相关参数
region = (0, 0, 0, 0) 按元素顺序分别代表:起点x、起点y、终点x、终点y,最终得到一个矩形。
# 算法相关参数
algorithm = (0, 0, 0) # 按元素顺序分别代表:algorithm_type 算法类型、threshold 阈值、max_val 最大值。
threshold 和 max_val 同为 255 时灰度处理.
0 THRESH_BINARY 算法,当前点值大于阈值 threshold 时,取最大值 max_val,否则设置为 0;
1 THRESH_BINARY_INV 算法,当前点值大于阈值 threshold 时,设置为 0,否则设置为最大值 max_val;
2 THRESH_TOZERO 算法,当前点值大于阈值 threshold 时,不改变,否则设置为 0;
3 THRESH_TOZERO_INV 算法,当前点值大于阈值 threshold 时,设置为 0,否则不改变;
4 THRESH_TRUNC 算法,当前点值大于阈值 threshold 时,设置为阈值 threshold,否则不改变;
5 ADAPTIVE_THRESH_MEAN_C 算法,自适应阈值;
6 ADAPTIVE_THRESH_GAUSSIAN_C 算法,自适应阈值;
"""
def find_image_by_opencv(image_name, region: _Region = None, algorithm: _Algorithm = None,
similarity: float = 0.9, wait_time: float = None, interval_time: float = None,
raise_err: bool = None) -> Optional[_Point]:
"""
寻找图片坐标,在当前屏幕中寻找给定图片中心点的坐标,返回图片坐标或者 None
与 .find_image() 基本一致,采用 OpenCV 算法
:param image_name: 图片名称(手机中);
:param region: 从指定区域中找图,默认全屏;
:param algorithm: 处理屏幕截图所用的算法,默认原图,注意:给定图片处理时所用的算法,应该和此方法的算法一致;
:param similarity: 相似度,0-1 的浮点数,默认 0.9;
:param wait_time: 等待时间,默认取 .wait_timeout
:param interval_time: 轮询间隔时间,默认取 .interval_timeout
:param raise_err: 超时是否抛出异常;
:return:
# 区域相关参数
region = (0, 0, 0, 0) 按元素顺序分别代表:起点x、起点y、终点x、终点y,最终得到一个矩形。
# 算法相关参数
algorithm = (0, 0, 0) # 按元素顺序分别代表:algorithm_type 算法类型、threshold 阈值、max_val 最大值。
threshold 和 max_val 同为 255 时灰度处理.
0 THRESH_BINARY 算法,当前点值大于阈值 threshold 时,取最大值 max_val,否则设置为 0;
1 THRESH_BINARY_INV 算法,当前点值大于阈值 threshold 时,设置为 0,否则设置为最大值 max_val;
2 THRESH_TOZERO 算法,当前点值大于阈值 threshold 时,不改变,否则设置为 0;
3 THRESH_TOZERO_INV 算法,当前点值大于阈值 threshold 时,设置为 0,否则不改变;
4 THRESH_TRUNC 算法,当前点值大于阈值 threshold 时,设置为阈值 threshold,否则不改变;
5 ADAPTIVE_THRESH_MEAN_C 算法,自适应阈值;
6 ADAPTIVE_THRESH_GAUSSIAN_C 算法,自适应阈值;
"""
def find_images_by_opencv(image_name, region: _Region = None, algorithm: _Algorithm = None,
similarity: float = 0.9, multi: int = 1, wait_time: float = None,
interval_time: float = None, raise_err: bool = None) -> List[_Poin
到了这里,关于Aibote python 版本最全的介绍文档,支持 web windows 和 Android的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!