初识RPA以及简单的RPA项目——微信群发机器人
一、RPA的认识和理解
RPA(Robotic Process Automation)即是机器人流程自动化,简称RPA,是一种自动化技术,可以帮助组织实现业务流程的自动化执行,提高效率和准确性。按我的理解应该是通过计算机自动处理一系列重复性任务,旨在帮助企业创造显著的增长和效率率提升,降低企业的人力成本,从而为企业创造价值。这也体现了RPA的局限性,只能处理一些简单的重复性任务,但是就目前行业发展来看,我觉得AI+RPA的发展方向会逐渐兴起,到时候不仅仅能解决简单重复性的任务,包括复杂的无规则的任务也能得到很好的解决。RPA与传统的软件流程自动化不同的是,RPA是“无侵入”式的,即不会改变软件本身系统,RPA只会模拟人的一系列操作,让“软件机器人”自己完成这些操作,这也是RPA的核心特点之一。在想到这里,我刚开始觉得RPA,与爬虫有点类似。因为之前我使用Java+Selenium和chromedrive编写脚本语言,控制浏览器的操作。但是仔细发现,如果使用Selenium处理网页元素的时候,能够处理一些人不能看见的其他元素,而RPA则是模拟人的操作并不会去操作哪些不可见的元素。按照官方语言,爬虫在处理网页内容时,直接操作HTML,可以非常灵活和精细(借助正则表达式几乎无所不能)。而RPA操作的是可见的网页元素,核心是“模拟人”。相对来说,爬虫的功能更加强大,但RPA程序的开发难度相对爬虫简单。
二、RPA的工具和开发技术
按照我网络上搜素到的信息,常见的RPA工具有以下这些:
1、UiPath,国外RPA领导者,致力于开发过程自动化机器人平台的全球软件公司,旨在将RPA作为数字化劳动力运作。
2、Blue Prism,创建和制造企业过程自动化软件,是国外比较成熟的RPA项目开发企业。
3、Automation Anywhere,将传统RPA与认知元素相结合,端到端的完成业务流程。
4、UiBot,国内RPA的领导者。通过用户使用界面,智能理解后将基于规则的常规操作自动化。
5、艺赛旗 iS-RPA,中国第一家提供RPA产品的专业制造商,其RPA产品主要对内优化企业业务流程。
6、Aibote,国内RPA“黑马”,纯代码的RPA办公自动化框架,免费开源,结合AI技术实现元素 文字 图片定位,全网唯一涵盖windows、web、Android(含设备投屏)三大平台的RPA框架,满足办公的所有需求。
综合这些RPA的开发工具,RPA的开发技术有大概有以下几种:
1、脚本语言: 许多RPA工具使用自定义脚本语言来编写自动化任务,例如UiPath中的UiPath Studio的VB.NET风格的脚本。
2、图形用户界面(GUI)录制: RPA工具通常提供GUI录制功能,允许用户录制他们在应用程序上执行的操作,并自动生成相应的脚本。
3、自然语言处理(NLP): 一些先进的RPA工具具有自然语言处理功能,可以理解和处理自然语言指令,使得开发更加智能化。
4、机器学习(ML)和人工智能(AI): ML和AI技术的整合可以使RPA系统更具智能化,例如识别图像、语音和文本等。
三、简单开发一个RPA项目
要开发一个RPA项目首先得对该项目进行需求分析,再进行自动化流程设计,最后在进行RPA开发。
为了能够更好的理解开发RPA项目,这里我下载了国内奥哲智能推出的RPA工具UiBot,选择这个工具是因为较为简单好上手。
在安装完UiBot之后,简单熟悉了一下界面以及各种指令。决定尝试写一个“微信群发助手机器人”来熟悉开发过程。
1、场景描述
当每次过年或者庆祝重大节日的时候,我想发一些祝福语给亲朋好友,但是群发显得我有些敷衍没有诚意,于是我想设计一个群发机器人,能够将发出的消息有“称呼+祝福语”。
2、需求分析

打开微信、搜索需要发送祝福好友、编辑祝福消息、点击发送、再重复第二步和第四步依次发送给好友。
3、自动化流程设计

4、RPA开发
前期准备:提前备好发送好友的名单和祝福语的excel文件、微信处于已登录状态、安装UiBot社区版并且在UiBot中安装谷歌的插件。
项目步骤:
1、创建项目文件

2、编写微信祝福语等消息,并将该文件放入res文件夹当中

3、重命名流程块的名称,并进入流程快的编辑页面

4、依次点击添加打开Exel文件命令,并添加文件路径。备注:我文件是放在res文件夹下面,与文件同级,若在其他文件夹下面则指明文件地址即可,打开方式选择自己默认的excel文件打开方式。

5、搜素读取命令,读取该文件的A4:C2区域的内容,即除标题外其他区域内容,输出到数组arrayRet。

6、关闭excel文件

7、启动微信程序,文件路径为微信程序的启动程序

8、窗口最大化

9、获取好友消息,遍历数组arrayRet。

10、在搜索框里面输入好友名称,即value[0],注意是变量而不是文本”value[0]”,这里是一个遍历循环。

可以从源代码中去掉 ”” 即可

11、模拟按键enter确定搜索

12、获取并点击发送按钮

13、添加结束模块

End....
源代码
点击查看代码
Dim objExcelWorkBook,arrayRet,iPID
objExcelWorkBook = Excel.OpenExcel(@res"微信祝福好友.xlsx",true,"WPS","","")
arrayRet = Excel.ReadRange(objExcelWorkBook,"Sheet1","A2:C5",true)
Excel.CloseExcel(objExcelWorkBook,true)
iPID = App.Run('''C:\Program Files (x86)\Tencent\WeChat\WeChat.exe''', 0, 1)
Window.Show(@ui"窗口_微信","max")
For Each value In arrayRet
Keyboard.InputText(@ui"可编辑文本_搜索",value[0],true,20,10000,{"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 500, "bSetForeground": true, "sSimulate": "message", "bValidate": false, "bClickBeforeInput": false})
Keyboard.Press("Enter", "press", [],{"iDelayAfter": 300, "iDelayBefore": 200, "sSimulate": "simulate"})
Keyboard.InputText(@ui"可编辑文本_输入",value[1]&value[2],true,20,10000,{"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 500, "bSetForeground": true, "sSimulate": "message", "bValidate": false, "bClickBeforeInput": false})
Mouse.Action(@ui"按钮_sendBtn","left","click",10000,{"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 200, "bSetForeground": true, "sCursorPosition": "Center", "iCursorOffsetX": 0, "iCursorOffsetY": 0, "sKeyModifiers": [],"sSimulate": "simulate", "bMoveSmoothly": false})
Next
总结,基本了解了RPA的基本知识,熟悉了RPA项目的开发的基本流程,熟悉了开发项目的基本语法和基本操作以及细节处理。
初识RPA以及简单的RPA项目——微信群发机器人的更多相关文章
- Spring Boot项目微信云托管入门部署
微信云托管本身是一个服务器,里面的软件都已经配置好了,直接使用即可,适用于一些简单部署的项目.直接把项目直接上传到服务器即可.无需各种繁琐的软件配置和打包,微信云托管统统给你搞定.而且系统会根据使用量 ...
- 【RPA之家转载RPA创新产业峰会回看】机器人流程自动化专利态势报告
[RPA之家转载RPA创新产业峰会回看]机器人流程自动化专利态势报告 自动化的一个专利情况的监测,就是全球监测的情况.今天我可能给大家汇报的主要是三个方面,第一个方面就是讲一下全球投资智能化的专利的一 ...
- 简单跳转到微信分享,基于libWeiChatSDK 和简单的自定义UIActivityViewController
一.自定义UIActivity: 如果想要自定义UIActivity必须知道UIActivityViewController.首先这个类主要是用于接受字符串,RUL类型和图片类型的数据用于分享和操作的 ...
- 使用spring 4.0 + maven 构建超简单的web项目
一.需求 使用spring去管理web项目,是目前非常流行的一种思路,本文将介绍使用maven+spring 4.0.2 来构建一个简单的web项目. 二.实现 1.新建一个maven项目,如下图所示 ...
- 三、使用Maven构建简单的java项目
前边,我刚搭建了Maven环境,还有给大家推荐了学习资源,这个小节,我们来就来,,简单的玩玩maven. 1.所需工具: 1.Eclipse 2.apache-maven-3.3.9 3. ...
- 一个简单的JUnit项目
本人一直很喜欢JAVA,可是真正接触到JUnit也不过半年.由于公司进行网页测试,采用的是 JUnit+selenium的方式搭建的测试框架,然后采用JAVA语言编写,所以本人也好好研究了一下JUni ...
- 创建一个可用的简单的SpringMVC项目,图文并茂
转载麻烦注明下来源:http://www.cnblogs.com/silentdoer/articles/7134332.html,谢谢. 最近在自学SpringMVC,百度了很多资料都是比较老的,而 ...
- 第一个简单的maven项目
学习一个新的东西,最快的方式就是实践.所以我们也不用多说什么了,直接拿一个项目来练手.下面的整理取自maven权威指南,在一堆maven资料中,我觉得这本书写的最好. 简介 我们介绍一个用Maven ...
- 用SpringBoot搭建简单电商项目 01
前几节呢,我们已经简单介绍了SpringBoot框架的使用,从这一节开始,我们尝试着使用SpringBoot框架来一步一步搭建一个简单电商项目.当然了,这不是真正的电商项目,你可以看成是一个CRUD案 ...
- maven入门(1-3)构建简单的maven项目
1. 用Maven 命令创建一个简单的Maven项目 在cmd中运行如下命令: mvn archetype:generate -DgroupId=com.mycompany.app -Dartifac ...
随机推荐
- Spring —— bean实例化
bean 实例化 bean本质上就是对象,创建bean使用构造方法完成(反射) 构造方法(常用) 静态工厂* 实例工厂* FactoryBean(实 ...
- SuperMap流数据应用技术方案
流数据应用技术方案针对流数据应用场景,针对流数据的海量.多源.持续等特征,进行持续地获取相关的动态位置,以及持续地分析.处理和挖掘. 本章沿用基于单机SuperMap iServer环境,介绍流数据处 ...
- 【赵渝强老师】大数据分析引擎:Presto
一.什么是Presto? 背景知识:Hive的缺点和Presto的背景 Hive使用MapReduce作为底层计算框架,是专为批处理设计的.但随着数据越来越多,使用Hive进行一个简单的数据查询可能要 ...
- 如何安装eNSP
如何安装eNSP? eNSP是需要三个插件进行辅助的,所以先下三个插件,最后在下eNSP 首先来看看Wireshark的安装 很简单,基本上就直接下一步就行 这里直接下一步 这里要注意,这些要么安装在 ...
- docker-compose -- 创建 redis && mysql
version: '3' services: nest-admin-web: image: buqiyuan/vue3-antdv-admin:stable container_name: nest- ...
- idea创建搭建项目 maven eg
1. 创建一个空的项目 ps:作为 git 管理 ,父项目 2. 创建第一个微服务 先导入两个必要的组件 web spring web : spring cloud openfeign (用于微服务之 ...
- day08-数据类型拓展及面试题
数据类型拓展及面试题 整数拓展----进制 //整数拓展----进制 int i=10;//十进制 不能以0开头,0~9 int i1=0b11;//二进制:0 ...
- Linux新建用户无法登陆系统的解决方案
前言 出现这个问题的原因,就是大家没有从基础开始学Linux,导致很多基础操作不会使用,遇到问题反而用搜索引擎搜索,得到一堆相似的答案,你就信了,因为重复就是权威.而你不清楚的是,这个答案是无数人复制 ...
- 哈希表(C语言实现)
在计算机世界中,哈希表如同一位聪慧的图书管理员.他知道如何计算索书号,从而可以快速找到目标图书. 文章目录 1.哈希表的概念 1.1哈希表的基本操作 1.2哈希表的常用操作 2.基于数实现哈希表 2. ...
- Syncfusion宣布开源其为.NET MAUI开发的14个控件
.NET MAUI是Xamarin.Forms的进化版,增加了对构建桌面应用的支持..NET MAUI的特点包括统一的框架.对桌面应用的支持.性能改进.使用现代技术以及开源特性.开源 .NET MAU ...