探索9款顶级开源RPA工具

发表时间: 2023-12-21 22:54

大家好,我是Echa。

机器人流程自动化(Robotic process automation,简称RPA)是以软件机器人及人工智能(AI)为基础的业务过程自动化科技。

机器人流程自动化(RPA)系统是一种应用程序,它通过模仿最终用户在电脑的手动操作方式,提供了另一种方式来使最终用户手动操作流程自动化。

人类社会进入21世纪的第一个十年之后,全球企业大都面临着两个严峻的挑战:

一是人力成本的不断飙升带来了企业经营成本的不断增加;

二是业务的快速发展导致企业内部流程纷繁复杂,工作效率的提升跟不上业务的发展速度。因此,随着信息技术的日新月异,如何通过有效的技术手段降低企业的人力成本,以及不断提升业务流程的自动化程度和员工的工作效率,已然成为全球企业家们迫切需要思考并尽快解决的重大课题。在这一大环境和大背景下,机器人流程自动化便应运而生。

RPA 十大特性

RPA的核心是通过自动化、智能化技术来“替代人”进行重复性、低价值、无需人工决策等固定性流程化操作,从而有效提升工作效率,减少错误。

相对传统手工完成重复类工作,RPA流程自动化软件具有以下三方面价值。从业务层面来看,RPA致力于将繁琐、重复的流程实现自动化操作,并通过触达不同软件数据打通企业上下游业务,实现整条业务线自动化。


RPA自动化软件关键价值


从工作层面来看,传统软件在数据管理环节有一定缺失,且存在数据质量差、手工处理费时费力的痛点,RPA软件在满足自动化的基础上降低人力成本,减少人为失误,可以24小时不间断工作,将员工从低效工作中解放出来,以便处理更高阶的工作,利于企业创新。

从技术层面来看,RPA作为自动化流程软件可以嵌套在其他软件中完成部门重复类工作,也可以直接连接顶层软件而不侵入企业原有系统,增加软件系统稳定性。随着数字化时代的到来,利用高新技术来取代低效率的劳动力付出,是必然的发展趋势。

RPA产业链主要参与者有四大类:RPA厂商、技术合作伙伴、业务合作伙伴、渠道合作伙伴。小编直接上图,更清晰明了。


中国RPA产业链结构和产品图谱

借此机会,今天小编给大家推荐9个最佳开源免费的 RPA工具,可以私有化,不用担心数据丢失和泄露。希望对粉丝们有所帮助。同时轻轻的问候,深深的祝福,愿大家一帆风顺,二龙腾飞,三羊开泰,四季平安,五福临门,六六大顺,七星高照,八方来财,九九同心,十全十美,百事亨通,千事吉祥,万事如意。

全文大纲

  1. DrissionPage - 基于python的网页自动化工具
  2. robotframework - 是最专业、最先进的开源RPA工具之一
  3. UiAuto - 一款RPA(机器人流程自动化)流程设计工具.
  4. RPA- 是一个跨平台性非常好的开源RPA自动化软件
  5. rpastudiobook - 从0-1开始编写RPA设计器和机器人工具
  6. wechaty - 只需几行代码,您就可以拥有一个功能齐全的RPA工具
  7. taskt - 是一个免费的、开源的、有趣的流程自动化软件
  8. II-RPA - 是全面智能公司出品的一款RPA工具
  9. pbottle-rpa - 小瓶RPA 永久免费(个人版)RPA软件系统

DrissionPage - 基于python的网页自动化工具

Github:https://github.com/g1879/DrissionPage

背景

用 requests 做数据采集面对要登录的网站时,要分析数据包、JS 源码,构造复杂的请求,往往还要应付验证码、JS 混淆、签名参数等反爬手段,门槛较高,开发效率不高。 使用浏览器,可以很大程度上绕过这些坑,但浏览器运行效率不高。

因此,这个库设计初衷,是将它们合而为一,同时实现“写得快”和“跑得快”。能够在不同需要时切换相应模式,并提供一种人性化的使用方法,提高开发和运行效率。
除了合并两者,本库还以网页为单位封装了常用功能,提供非常简便的操作和语句,使用户可减少考虑细节,专注功能实现。 以简单的方式实现强大的功能,使代码更优雅。

以前的版本是对 selenium 进行重新封装实现的。从 3.0 开始,作者另起炉灶,对底层进行了重新开发,摆脱对 selenium 的依赖,增强了功能,提升了运行效率。

介绍

基于python的网页自动化工具。既能控制浏览器,也能收发数据包,还能把两者合而为一。可兼顾浏览器自动化的便利性和requests的高效率。功能强大,内置无数人性化设计和便捷功能。语法简洁而优雅,代码量少,对新手友好。

特性和亮点

强大的自研内核

本库采用全自研的内核,内置了 N 多实用功能,对常用功能作了整合和优化,对比 selenium,有以下优点:

  • 无 webdriver 特征
  • 无需为不同版本的浏览器下载不同的驱动
  • 运行速度更快
  • 可以跨<iframe>查找元素,无需切入切出
  • 把<iframe>看作普通元素,获取后可直接在其中查找元素,逻辑更清晰
  • 可以同时操作浏览器中的多个标签页,即使标签页为非激活状态,无需切换
  • 可以直接读取浏览器缓存来保存图片,无需用 GUI 点击另存
  • 可以对整个网页截图,包括视口外的部分(90以上版本浏览器支持)
  • 可处理非open状态的 shadow-root

亮点功能

除了以上优点,本库还内置了无数人性化设计。

  • 极简的语法规则。集成大量常用功能,代码更优雅
  • 定位元素更加容易,功能更强大稳定
  • 无处不在的等待和自动重试功能。使不稳定的网络变得易于控制,程序更稳定,编写更省心
  • 提供强大的下载工具。操作浏览器时也能享受快捷可靠的下载功能
  • 允许反复使用已经打开的浏览器。无须每次运行从头启动浏览器,调试超方便
  • 使用 ini 文件保存常用配置,自动调用,提供便捷的设置,远离繁杂的配置项
  • 内置 lxml 作为解析引擎,解析速度呈几个数量级提升
  • 使用 POM 模式封装,可直接用于测试,便于扩展
  • 高度集成的便利功能,从每个细节中体现

案例截图

收发数据包

本示例演示用SessionPage已收发数据包的方式采集 gitee 网站数据。

网址:https://gitee.com/explore/all

这个示例的目标,要获取所有库的名称和链接,为避免对网站造成压力,我们只采集 3 页。

打开网址,按F12,我们可以看到页面 html 如下:

从 html 代码中可以看到,所有开源项目的标题都是class属性为'title project-namespace-path'的<a>元素。我们可以遍历这些<a>元素,获取它们的信息。

同时,我们观察到,列表页网址是以页数为参数访问的,如第一页 url 为https://gitee.com/explore/all?page=1,页数就是page参数。因此我们可以通过修改这个参数访问不同的页面。

示例代码

from DrissionPage import SessionPage# 创建页面对象page = SessionPage()# 爬取3页for i in range(1, 4):    # 访问某一页的网页    page.get(f'https://gitee.com/explore/all?page={i}')    # 获取所有开源库<a>元素列表    links = page.eles('.title project-namespace-path')    # 遍历所有<a>元素    for link in links:        # 打印链接信息        print(link.text, link.link)

输出:

小熊派开源社区/BearPi-HM_Nano https://gitee.com/bearpi/bearpi-hm_nano明月心/PaddleSegSharp https://gitee.com/raoyutian/PaddleSegSharpRockChin/QChatGPT https://gitee.com/RockChin/QChatGPTTopIAM/eiam https://gitee.com/topiam/eiam以下省略。。。

robotframework - 是最专业、最先进的开源RPA工具之一

Github:https://github.com/robotframework/robotframework


介绍

Robot Framework是最专业、最先进的开源RPA工具之一。它能够帮助企业以经济高效的方式提供丰富的业务流程自动化服务。能够支撑组织实施、运行企业级机器人应用程序,并智能地处理复杂的业务流程。

Robot Framework能够大大简化业务运营、改善了IT基础设施、减少了工作量与成本,同时还能提高企业的整体灵活性,具备良好的可扩展性,可以为企业建立虚拟员工、能够很容易地与其他自动化工具集成,使业务流程自动化。

案例截图



UiAuto - 一款RPA(机器人流程自动化)流程设计工具.

Gitee:https://gitee.com/legion-spider-man/UiAuto

介绍

UiAuto 是览众独立开发的一款RPA工具,致力于减少人员处理重复性任务的时间,为客户提供高效的解决方案。通过它帮助企业解决业务流程自动化难题,主要用户处理标准、重复、繁琐、大批量的工作任务。RPA应用以更低的成本、更快的速度和更高的质量进行全天候服务,极大减少人为从事规律可循的机械性工作,释放员工创造力、提升员工满意度。

基础组件介绍

  • 开始:标记流程开始。
  • 条件:根据上游流程执行结果,选择下游支路执行且支持多选;存在多条线路可执行时,按从判断条件的顺序执行。
  • 循环:纵向锚点连接的流程线为主干,横向锚点连接的流程线为旁支,先循环执行旁支再执行主干。
  • 异常:异常组件的上游组件发生异常时,则执行异常组件的下游线路,否则不执行。
  • 等待:等待组件的下游线路执行完成,流程才会继续往下执行。
  • 子流程:执行另一个流程。
  • 常规类型(蓝色或白色圆角矩形):蓝色:普通常规类型,几乎所有功能组件都是常规类型,对所有全局变量可读,并且可返回一个新的变量。白色:脚本常规类型,一种高级的需要编写代码的常规类型,可以对所有全局变量进行读写,也可随意删减。
  • 结束:标记流程结束。

系统截图

RPA- 是一个跨平台性非常好的开源RPA自动化软件

Github:https://github.com/A9T9/RPA

介绍

UI.Vision是一个跨平台性非常好的开源RPA自动化软件。适用于Microsoft Windows,Mac和Linux操作系统。既可以作为桌面上的独立客户端运行,也可以作为Web浏览器中的插件运行。在桌面客户端独立运行时,可以模拟各种输入(如键盘和鼠标)并完成特定任务。在Web浏览器中支持Mozilla Firefox、Google Chrome或Edge的插件。

并且非常易用,提供了可视化UI测试以及浏览器自动化命令控制UI的功能。不要求学习如何开发脚本,只要一个点击式的界面即可驱动它。 值得强调的是UI.Vision通常被认为符合RPA领域的最高数据保护标准。



rpastudiobook - 从0-1开始编写RPA设计器和机器人工具

Gitee:https://gitee.com/rpa_ai/rpastudiobook

介绍

近几年来,国内技术社区关于RPA的讨论很多很多,而且呈增长趋势,以Uipath、Blue Prism、Automation Anywhere等RPA类社区最为明显。RPA的热潮已经在国内外掀起,从整个行业来看,绝大部分的企业都会选择使用RPA来节省成本,提高效率,但本身使用RPA还是要花费一定成本去购买,并且可能需要专门的实施人员以及运维人员来实施运维等,相对来说这也是一笔不算小的费用,再加上一些大企业在企业内部完全推广开来这就使成本增加了不少。

并且从目前情况来看,不管是国内还是海外都对RPA备受关注,照着目前的形势发展,RPA的厂商远远不够支持众多企业的使用。这就会造成市场空白以及供给不足的现象,与其花费成本来购买厂商的RPA,不如自己动手来写一个RPA,开发完成后的RPA不仅可供企业内部使用,还可以推广到其他企业,发展更多的用户。

案例截图

wechaty - 只需几行代码,您就可以拥有一个功能齐全的RPA工具

Github: https://github.com/wechaty/wechaty


介绍

Wechaty是一个用于聊天机器人制造商的RPA(机器人过程自动化)SDK,它可以帮助您用JavaScript、Python、Go和Java的6行代码创建机器人,并提供跨平台支持,包括Linux、Windows、MacOS和Docker。

Wechaty提供开箱即用的支持,用于将即时消息帐户转换为聊天机器人所需的常见功能。您可以轻松地自定义和扩展Wechaty,以创建一个适合您需求的聊天机器人。

Github Star 17.9k

taskt - 是一个免费的、开源的、有趣的流程自动化软件

Github:https://github.com/saucepleez/taskt

介绍

Taskt(以前称为sharpRPA)基于.NET 框架的C#,是一个免费的、开源的、有趣的流程自动化软件。它提供了易用的操作界面,无需编码或使用最少的命令(无代码、低代码方法)即可实现自动化机器人的创建。

Taskt最显著的优势是它的屏幕记录器,记录器具有多种记录功能,可以记录各种用户活动,从而根据记录信息创建机器人脚本。此外,它还包含一个带有拖放机制的可视化脚本生成器,在“所见即所得”设计器中中设计机器人模型。它还提供了数十个命令,如自定义代码执行,图像识别和OCR等。

案例演示

II-RPA - 是全面智能公司出品的一款RPA工具

Gitee:https://gitee.com/rpaii/II-RPA

介绍

II-RPA 是全面智能公司出品的一款RPA工具。它基于智能化数据处理业务模型,运用自主开发的自然语义分析引擎、逻辑计算单元、算法建模单元、图像识别等技术,通过模拟人对统一业务系统的各环节业务操作,进行逻辑判断和智能化操作结合人工智能的应用实现工作流程中的自动化。

流程机器人是一个模拟人进行逻辑判断和操作应用的软件程序。它结合人工智能的应用实现工作流程的自动化,主要由两部分能力组成,一部分是软件应用的操作能力,模拟人进行软硬件的操作;另一部分是人工智能的能力,模拟人类进行语义识别、图像识别、逻辑判断等。流程机器人通过两部分能力的组合在应用系统上辅助人类完成复杂的业务流程。

通俗点说,可以用流程机器人,以无代码方式,通过拖动窗口,输入信息,实现一些爬虫啊,自动化办公啊,自动操作系统的一系列功能,

凡是那种每天都要在电脑上操作的重复,量大的工作,都可以用这个工具自动完成,

案例截图

  1. pbottle-rpa - 小瓶RPA 永久免费(个人版)RPA软件系统

Github:https://github.com/leoxiaoping/pbottleRPA



介绍

小瓶RPA 永久免费(个人版)RPA软件系统。 像挂QQ一样使用简单的RPA软件,显著降本增效 & 工作100%准确 & 非侵入式集成。同时支持浏览器web应用和客户端应用的操作流程自动化。


小瓶RPA优势

  • ① 基于AI图像识别技术,纯图像驱动,真正安全无侵入。
  • ② 自主底层研发、可深度行业底层定制,可解决有难度的自动化问题。
  • ③ 支持 NodeJS,Python等社区资源, 数以万计第三方功能包,最大化生态。
  • ④ 绿色、轻巧、便捷,免安装,可脱网运行,软件包大小约50M。
  • ⑤ 无登录和注册,个人版永久免费软件,真正的降本增效。

软件架构

最后

一行代码,可能会创造出下一个让人惊叹的产品;
一个创新,可能会开启一个全新的科技时代;
一份初心,可能会影响到无数人的生活;
无论是在大公司工作,还是在小团队奋斗;
无论是资深的程序员,还是刚刚入行的新手;
每个人的代码,都有力量改变世界。

创作不易,喜欢的老铁们加个关注,点个赞,打个赏,后面会不定期更新干货和技术相关的资讯,速速收藏,谢谢!你们的一个小小举动就是对小编的认可,更是创作的动力。

创作文章的初心是:沉淀、分享和利他。既想写给现在的你,也想贪心写给 10 年、20 年后的工程师们,现在的你站在浪潮之巅,面对魔幻的互联网世界,很容易把一条河流看成整片大海。未来的读者已经知道了这段技术的发展历史,但难免会忽略一些细节。如果未来的工程师们真的创造出了时间旅行机器,可以让你回到现在。那么小编的创作就是你和当年工程师们的接头暗号,你能感知到他们在这个时代的键盘上留下的余温。

#文章首发挑战赛#