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

前言

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

猜你喜欢

转载自www.cnblogs.com/roboticprocessautomation/p/12795675.html