初识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 ...
随机推荐
- mongo集群同步数据异常,手动同步节点副本数据
转载请注明出处: 数据同步方案 当副本集节点的复制进程落后太多,以至于主节点覆盖了该节点尚未复制的 oplog 条目时,副本集节点就会变为"陈旧".节点跟不上,就会变得" ...
- Linux_动态库与静态库(其一)
1.动态库和静态库的定义 动态库(.so):动态库是编译后不嵌入目标文件中的共享库,在程序运行的时候才去链接动态库的代码,可以被多个程序共享使用,通常以 .so 结尾. 静态库(.a):静态库是将一组 ...
- Kubernetes的Pod调度:让你的应用像乘坐头等舱!
一.Kubernetes 中 Pod 调度的重要性 在 Kubernetes 的世界里,Pod 调度就像是一个繁忙的交通指挥官,负责把小车(也就是我们的 Pod)送到最合适的停车位(节点).调度不仅关 ...
- Linux内核虚拟内存管理之匿名映射缺页异常分析
今天我们就来讨论下这种缺页异常,让大家彻底理解它.注:本文使用linux-5.0内核源代码.文章分为以下几节内容: 匿名映射缺页异常的触发情况 0页是什么?为什么使用0页? 源代码分析 3.1 触发条 ...
- dotnet的Lambda表达式 委托泛型(2) Action Func
// 总结:// 泛型:把类,方法,属性,字段做到了通用化// 反射:操作dll文件的一个帮助类库// 特性:就是一个特殊的类 自定义标记属性特性 他就是AOP的另一种实现方式 验证属性// 委托:就 ...
- 06 Word2Vec模型(第一个专门做词向量的模型,CBOW和Skip-gram)
博客配套视频链接: https://space.bilibili.com/383551518?spm_id_from=333.1007.0.0 b 站直接看 配套 github 链接:https:// ...
- Android复习(五)设备兼容—>支持刘海屏
支持刘海屏 刘海屏是指某些设备显示屏上的一个区域延伸到显示面,这样既能为用户提供全面屏体验,又能为设备正面的重要传感器留出空间.Android 在搭载 Android 9(API 级别 28)及更高版 ...
- 小集训 CSP-S 模拟赛
DAY 1 A.喜剧的迷人之处在于 小思维题不必细讲 B. 镜中的野兽 状压+容斥 $ gcd (x) + lcm(x) = m $ ,可以得知 $ gcd(x) $ 一定是 m 的因子,那么就可以枚 ...
- 云原生的 WebAssembly 能取代 Docker 吗?
WebAssembly 是一个可移植.体积小.加载快并且兼容 Web 的全新格式.由于 WebAssembly 具有很高的安全性,可移植性,效率和轻量级功能,因此它是应用程序安全沙箱方案的理想选择.现 ...
- 什么是WEB3.0
WEB1.0 90年代末期创建的搜狐,新浪等门户网站的特点是向用户推送信息,门户网站显示什么我们看什么,这个时代称为web1.0.WEB2.0随着技术的发展,用户可以在网上进行互动,可以在网站上发表个 ...