RPA简介及应用

TODO
机器人流程自动化 (Robotic Process Automation (RPA)) 又称软件机器人,它使用自动化技术模拟人类的后台任务,如提取数据、填写表单和移动文件等等。

它结合了 API 和用户界面 (UI) 互动,整合并执行企业与生产力应用之间的重复性任务。 通过部署用于模拟人工流程的脚本,RPA 工具可以在各个不相关的软件系统中自动执行各项活动和事务。
这种形式的自动化使用基于规则的软件,大规模执行业务流程活动,从而将人力资源解放出来,去优先从事更复杂的任务。 RPA 可帮助 CIO 和其他决策者加速开展数字化转型工作,并提高人员的投资回报率 (ROI)。

RPA 和人工智能

机器人流程自动化经常被误认为是人工智能 (AI),但两者截然不同。 AI 结合了认知自动化、机器学习 (ML)、自然语言处理 (NLP) 、推理、假设生成和分析。

关键区别在于 RPA 是流程驱动的,AI 则是数据驱动的。 RPA 机器人只遵循最终用户定义的流程,而 AI 机器人则使用机器学习来识别数据中的模式,特别是非结构化数据,并持续进行学习。 换句话说,AI 旨在模拟人类智能,而 RPA 则仅用于复制人类指导的任务。 虽然人工智能和 RPA 工具的使用能够最大程度地减少人工干预,但它们实现流程自动化的方式是不同的。

也就是说,RPA 和 AI 彼此还起到很好的互补作用。 AI 可以帮助 RPA 更全面地自动完成任务,并处理更复杂的用例。 RPA 则有助于更迅速地对 AI 洞察采取行动,而不是等待人工实施。

RPA 与智能自动化

RPA 工具要想在市场上保持竞争力,必须超越任务自动化范畴,拓展到智能自动化 (IA) 领域。 这种类型的自动化通过整合人工智能的子学科(如机器学习、自然语言处理和计算机视觉),扩展 RPA 的功能。

智能流程自动化需要的不仅仅是基于规则的简单 RPA 系统。 可将 RPA 视为“执行”任务,同时将 AI 和 ML 分别视为提供更多的“思考”和“学习”能力。 它利用数据训练算法,使软件能够更快速、更高效地执行任务。

RPA 的优点

RPA 具有诸多优点,包括:

  • 编码工作更少:RPA 不一定需要开发人员进行配置;用户界面中的拖放功能让非技术人员也能更轻松地上手。

  • 快速节省成本:由于 RPA 减少了团队的工作量,因此,员工可以重新分配到需要人手的其他高优先级工作,从而提高生产力和 ROI。

  • 提高客户满意度:由于机器人和聊天机器人可以全天候工作,因此能够减少客户的等待时间,提高客户满意率。

  • 提高员工士气:RPA 能够将团队从大量的重复性工作中解放出来,专注于更需要深思熟虑的战略性决策上。 这种工作上的转变对员工的幸福感有着积极的影响。

  • 更高的精准度与合规性:由于可对 RPA 机器人编程以遵循特定的工作流程和规则,因此能够减少人为错误,特别是对精准度与合规性有着严格要求的工作,如监管标准。 RPA 还可以提供审计跟踪,使您能够轻松监控进度问题并且更快地解决问题。

  • 现有系统保持不变:机器人流程自动化软件不会对底层系统造成任何破坏,因为机器人在现有应用的表示层上工作。 因此,即使没有应用编程接口 (API) 或其他资源来开发深度集成,也能实施机器人。

Microsoft Power Automate

https://powerautomate.microsoft.com/zh-cn/

GitHub RPA 开源项目

https://github.com/A9T9/RPA

Visual Browser Automation

https://ui.vision/rpa/home/welcome?t=hello

Desktop Automation for Windows, Mac and Linux

https://ui.vision/rpa/home/welcome?t=hello

nut.js

nut.js is a cross-platform native UI automation / testing tool.

桌面截图与指定图片比对,若匹配则移动鼠标并双击

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
const {
keyboard,
mouse,
screen,
imageResource,
Key,
Button,
straightTo,
centerOf,
} = require('@nut-tree/nut-js');
require('@nut-tree/template-matcher');
// await mouse.click(Button.LEFT);
(async () => {
mouse.config.mouseSpeed = 100000000;
const matches = await screen.findAll(imageResource('dd.jpg'));
console.log('matches', matches);
for (const match of matches) {
console.log('match', match);
await mouse.move(straightTo(centerOf(match)));
await mouse.doubleClick(Button.LEFT);
}
})();

robotjs

Node.js Desktop Automation.

Progress:

Module Status Notes
Mouse 100% All planned features implemented.
Keyboard 100% All planned features implemented.
Screen 85% Image search, pixel search.
Bitmap 0% Saving/opening, png support.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import robot from '@jitsi/robotjs';

export function test() {
// Type "Hello World".1x
// robot.typeString("Hello World");
// 组合键
// const modifiers = [];
// modifiers.push('shift');
// modifiers.push('alt');
// robot.keyToggle('f12', 'down', modifiers);
// 1 和 x

// 按键精灵
setInterval(() => {
robot.keyTap('1');
}, 1500);
setInterval(() => {
robot.keyTap('x');
}, 1500);
}

参考资料

开源RPA软件

Power Automate Desktop 入门教程


RPA简介及应用
http://example.com/20231020-RPA简介及应用/
作者
csorz
发布于
2023年10月20日
许可协议