Python技术迷

UiBot教程:如何用Python编写插件?

今天咱们聊点有意思的——如何用Python编写UiBot插件。作为一个程序员,咱们写代码时常会遇到某些现有工具无法满足需求的情况。

这时候,用插件来扩展功能就显得尤为重要了。说到“插件”,很多人会联想到浏览器插件、IDE的插件啥的,其实这和UiBot的插件机制有异曲同工之妙。

你可能会问,UiBot这玩意儿已经这么强大了,能做的事儿一大堆,干嘛还需要用Python写插件呢?

哎,我跟你讲,作为一个RPA平台,UiBot确实有一堆现成的模块,比如自动化操作、数据处理等等,但有时候它自带的功能还真不能完全满足我们“码农”那颗不安分的心。这时候,UiBot的插件机制就能派上用场了,尤其是对那些热衷Python的小伙伴来说。

简单步骤

话不多说,先给大家简单介绍一下怎么用Python写一个UiBot插件,操作可简单了。

首先,你只需要用Python写个.py文件,比如写个简单的加法函数,保存为UTF-8格式,放在UiBot的extend/python目录下就行了。

Image

举个栗子,假设我们写了一个加法函数:

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

保存为test.py,然后在UiBot的流程里,咱们可以像这样调用它:

Traceprint test.Add(1, 1)

没错,调用之后结果直接就是2。这整个流程是不是有点儿像Python自己在跑?这就让UiBot在处理自动化任务时具备了更大的灵活性。

Image

插件API

UiBot不仅仅是个“跑代码”的平台,它还给咱们提供了一些插件API,让你调用起来更省心省力。要用这些API,只需要在插件里导入UiBot模块就行了。

这里有几个常用的API,拿出来大家分享下:

  • UiBot.IsStop():这个函数主要用来检查流程是不是需要停止了。
  • UiBot.GetString(string_path):可以用来根据语言获取对应的字符串信息。
  • UiBot.GetCommanderInfo():这个则是用来获取UiBot Commander的一些信息,虽然一般情况下用的少,但你要真想用,也给你备好了。

如果你想让你的插件做点儿特别的事情,比如检查流程状态或者获取系统信息,那这些API就是你最好的工具了。不得不说,UiBot这波给力操作为我们省了不少事儿。

模块导入

在用Python写UiBot插件的时候,和普通Python脚本差不多,你可以通过import引入一些常用的模块。UiBot自带了一堆模块,你可以直接在脚本里用。

如果自带的模块不够,你还可以把自己需要的模块放到extend/python/<插件名>.lib目录下,然后在插件里用import加载。这样一来,写个功能强大的插件简直不要太方便。

源代码保密

有的小伙伴可能担心自己辛辛苦苦写的Python插件会被人扒代码,不想让别人看到。这时候你可以用Python的.pyc编译机制,把.py文件编译成.pyc,然后把源代码文件删掉,UiBot照样能运行这个插件。这样就能防止别人看你的代码了,简直是居家旅行、防止“大佬”偷窥的必备技巧。

参数传递和异常处理

UiBot处理插件的参数传递时是按值传递的,但如果你在Python里用list或者dict,这些东西会自动转换成UiBot的数组和字典类型。

这样一来,数据处理就显得非常灵活。再者,如果你的Python插件里出了点儿bug,抛了个异常,UiBot也会帮你捕获并输出错误信息,方便调试和处理。

结语

所以我觉得,用Python写UiBot插件,不仅简单,还能让UiBot的自动化功能变得更强大。尤其是对于那些已经熟悉Python的小伙伴来说,这种插件编写方式简直就像在自己家的地盘上玩,想怎么玩就怎么玩。

写插件的过程,其实就像是给自己建了个“小工作室”,让UiBot从一个“通用工具箱”变成一个“私人订制”的神器。

你可以根据具体需求写各种扩展功能,甚至可以让UiBot做一些它原本不擅长的事儿,比如处理复杂的数据分析、访问第三方API等等。总之,只要你有想法,UiBot加Python插件就能帮你实现。

现在市面上有很多RPA社群,但免费的却很少,这里推荐一个免费的交流社群,我也会在里面分享一些干货。

Image

如何获取今天的神器?
关注下方公众号,回复关键词:uibot 获取软件安装包。

Image

点分享

Image

点收藏

Image

点点赞

Image

点在看