初识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项目的开发的基本流程,熟悉了开发项目的基本语法和基本操作以及细节处理。