近期工作中接触RPA(Robotic Process Automation,即机器人流程自动化)方向的项目,在做技术预研中,接触了 UiBot 和 Automagica 这两款流程自动化的组件。其中 UiBot 是一款成熟的软件产品,安装其平台后,可以直接按用户的业务场景,通过绘制流程图+配置动作和参数的方式,定制自动化流程场景。当然它也提供了Python、C/C++、Lua、.Net等多种编程语言的扩展接口,支持更灵活的编程式开发。它入门门槛较低,直接通过点击就可以实现诸如浏览器数据抓取、文档批量操作等一般的业务场景,非工程人员也可以快速上手使用。这里我们对UiBot不做深入介绍,而来了解一下 Automagica 这个平台。
Automagica 是一个开源智能机器人流程自动化(SRPA,Smart Robotic Process Automation)平台,借助 Automagica 的python 函数库,可以通过简单程序脚本实现打开各种应用程序并对应用进行操作的功能,使自动化跨平台流程变得轻而易举。
- 安装
方式一:通过 pip 工具安装
如果你已经安装过pip工具,可以使用pip命令直接进行automagica模块的下载安装(没有pip工具的,可以参考链接:https://www.cnblogs.com/vikezhu/p/6576595.html 进行安装):
pip install https://github.com/OakwoodAI/automagica/tarball/master
但是,我使用该方式安装时,因为网络原因一直超时报错。无奈,我只能另择他途。
方式二:安装window软件包
- 开发
实验案例的业务场景是:自动打开Chrome浏览器,跳转到百度首页,然后检索关键字“automagica”。
这里业务场景较简单,我们直接使用记事本进行开发,代码如下:
1 #!/usr/bin/python 2 # -*- coding: UTF-8 -*- 3 import sys 4 sys.path.append("C:\MySoftware\Automagica2.0\pkgs") 5 #引入automagica 模块 6 from automagica import * 7 #引入selenium 模块 8 from selenium import webdriver 9 10 #创建chrome浏览器实例,跳转到百度首页 11 #browser = Chrome() 12 browser = webdriver.Chrome() 13 browser.get('https://baidu.com/') 14 #获取搜索输入框,嵌入关键字automagica 15 search_input = browser.find_element_by_name('wd') 16 search_input.send_keys("automagica") 17 #获取检索按钮,点击 18 search_btn = browser.find_element_by_id('su') 19 search_btn.click()
- 说明
## 第4行:sys.path.append("C:\MySoftware\Automagica2.0\pkgs")
## 第6行:from automagica import *
## 第8行:from selenium import webdriver
## 第13~18行:browser 和页面元素的API
这几行都是浏览器的相关操作,包括输入字符、点击等动作。详情请参考官方参考文档:https://github.com/oakwoodai/automagica 中Activities部分。