前言

UiBot 除了自带的强大功能外,还允许有编程经验的 RPA 开发人员对功能进行自由扩展,目前 UiBot 支持以下四种扩展方式:

Python 插件、Lua 插件、Lua Mod 插件、COM 插件(.Net 也使用这种方式扩展)

本文将为大家讲解如何开发 Python 插件及如何在 UiBot 中引用 Python 插件扩展丰富 UiBot 的功能。

Python 插件开发教程

1、下载 UiBot 软件

登录 UiBot 官网下载并安装:https://www.uibot.com.cn/downloadcenter

2、插件开发快速上手

打开 UiBot 安装目录下的 extend \ python 目录,在这个目录下创建 test.py 文件(记得修改文件扩展名),使用记事本打开这个文件,写入如下代码:

def Add(n1, n2):
return n1 + n2

然后将文件另存为 utf-8 编码格式:

使用Python扩展丰富UiBot的功能及在UiBot中引用Python模块

插件保存后,打开 UiBot 在源代码视图写入代码:

Import test
traceprint test.add(1, 1)

运行 UiBot 脚本,运行后结果如下(输出 2)代表插件调用正常:

使用Python扩展丰富UiBot的功能及在UiBot中引用Python模块

如果运行结果不正常,可根据输出窗格的报错提示尝试解决,如果报错为 模块 test 没有加载成功,则检查 test.py 中的代码是否正确、文件名和路径是否正确(例如文件后缀问题)

3、开发环境部署(VS Code):

使用 Python 编写 UiBot 扩展库很容易,但 Python 本身是一门独立的编程语言,使用文本编辑器开发和调试都很不方便,因此建议使用 VS Code 集成开发环境做 Python 扩展库开发。

首先需要在机器上安装 Python 3.7.1,下载地址:https://www.python.org/downloads/release/python-371/

下载时选择 Windows x86-64 executable installer 版本,下载完成后直接安装。

使用Python扩展丰富UiBot的功能及在UiBot中引用Python模块

安装 Python 时需要勾选 Add Python 3.7 to PATH,然后点击 Install Now 安装即可:

使用Python扩展丰富UiBot的功能及在UiBot中引用Python模块

然后在机器上安装 VS Code,下载地址:https://code.visualstudio.com/

使用Python扩展丰富UiBot的功能及在UiBot中引用Python模块

VS Code 安装完成后,是英文版本:

使用Python扩展丰富UiBot的功能及在UiBot中引用Python模块

点击 VS Code 左侧边栏上方最后一个按钮(见截图),然后在搜索框里输入 Chinese,找到简体中文语言包安装:

使用Python扩展丰富UiBot的功能及在UiBot中引用Python模块

安装完成后,VS Code 会提示是否重启编辑器使语言包生效,重启后软件即可显示为中文:

使用Python扩展丰富UiBot的功能及在UiBot中引用Python模块

如果这步完成后语言没有切换成功,可以按热键 Ctrl + Shift + P,搜索 Configure Display Language,配置显示语言:

使用Python扩展丰富UiBot的功能及在UiBot中引用Python模块

将红圈选中的内容更改为 zh-cn,保存文件后重启 VS Code,即可更换为中文显示:

使用Python扩展丰富UiBot的功能及在UiBot中引用Python模块

VS Code 和 Python 都安装完成后,使用 VS Code 打开任意 py 后缀的文件,会自动提示是否安装 Python 开发环境

使用Python扩展丰富UiBot的功能及在UiBot中引用Python模块

Python 扩展安装完成后,VS Code 还会要求你安装 pylint,这是在 VS Code 开发时用于语法错误检查的组件,可以根据自己的需求选择是否安装。

以上步骤操作后,使用 VS Code 的 Python 开发环境就部署完毕了,编写代码,然后 F5 运行看看效果吧。

4、Python 插件测试:

在 Python 文件中写入如下代码,这段代码在 UiBot 环境下是不会运行的,但在 Python 调试状态下会运行,以此实现更便捷的 Python 扩展库调试:

# 测试代码
if __name__ == '__main__':
print(123)

使用Python扩展丰富UiBot的功能及在UiBot中引用Python模块

UiBot 引用 Python 插件

插件的文件名即为插件名,例如我们编写的插件文件名为 test.py,则在 UiBot 中使用 Import test 即可载入插件。

对于 Python 插件来说,每个 def 的函数都可以使用 UiBot 调用。

1、插件使用的其他组件安装到 UiBot

UiBot 内置的 Python 运行环境包含了绝大多数 Python 自带的扩展库和 pywin32 等使用频度较高的库,但仍不能保证全部覆盖,如果你在开发 Python 插件的过程中,使用了 UiBot 没有附带的库,则可能产生插件在 Python 环境下运行正常,在 UiBot 环境下运行不正常的问题,这时候就需要将对应的扩展库添加到 UiBot 安装目录下的 lib \ site-packages 文件夹中解决。

2、Python 依赖的存放位置

我们在编写 Python 扩展时经常会用到 pip 安装其他的第三方依赖模块,如果要在 UiBot 中顺利使用自己编写的扩展,那么同样要把这些第三方模块置入到 UiBot 中,下面我们拿 Python 中的"requests"模块举例。

首先通过 pip show requests 命令,我们可以看到如下信息:

使用Python扩展丰富UiBot的功能及在UiBot中引用Python模块

其中 Location 代表当前开发环境第三方库的安装位置,Requires 代表 requests 模块的依赖,我们需要进到 Location 目录下,将对应模块(包含自身)拷贝到 UiBot 安装目录下的\lib\site-packages 之中

Location 对应目录

使用Python扩展丰富UiBot的功能及在UiBot中引用Python模块

使用Python扩展丰富UiBot的功能及在UiBot中引用Python模块

UiBot 对应目录

使用Python扩展丰富UiBot的功能及在UiBot中引用Python模块

如此,我们即可正常的在 UiBot 之中使用依赖。

原文地址:https://forum.uibot.com.cn/thread-51.htm
更多 RPA 知识请访问:https://www.uibot.com.cn/


↙↙↙阅读原文可查看相关链接,并与作者交流