初识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 ...
随机推荐
- HTML & CSS – Practice Projects
前言 学完了 w3school 就要练练手了. 这篇是记入我学习的过程, 和知识点. update: 2022-02-27 用文章来表达太难了, 用视频比较合理. 所以我就没有继续写了. 这里记入几篇 ...
- ASP.NET Core Library – scriban (Template Engine)
前言 有些项目会需要让 end user 写模板 (rich text) 同时又需要做一些 data binding. 这几乎是 programmer 的工作了... 在 C#, 大可以使用 Razo ...
- CSP初赛知识点:Linux 系统
CSP初赛知识点:Linux 系统 前言 近年 CSP 初赛几乎前 5 道选择题都有一两道有关 Linux 系统的使用,所以作为备战 CSP-J/S 2024 的资料,整理下来啦. 祝各位今年所有考试 ...
- Codeforces Round 973 (Div. 2) D
性质1:题目操作相当于将前面的数搬到了后面,将其视为柱状图,则是把前面柱的高度转移至后面柱的高度 性质2:最后移成的序列以单调不下降序列为最优,易证明当存在下降时,可通过操作使答案更优或不变差 性质3 ...
- markdown公式关系符
- iOS之动画(transform和UIView动画)学习
1.transform 形变 这个是UIView的属性,继承UIView的控件都具有这个属性 UIImageView *imageview=[[UIImageView alloc]init]; ima ...
- 创建一个简单的基于MyBatis的项目
- KubeKey 2.1.0 发布:增强 K8s 离线交付体验
2022 年 5 月 6 日,KubeKey 2.1.0 正式发布,这是 KubeKey 的第 8 个正式版本.该版本增强了离线部署能力和交付体验,同时支持"一云多芯",即同一个 ...
- 在Ubuntu小设备上使用VSCode+SSH开发部署nicegui的Web应用,并设置系统开机自动启动应用
在一些小的设备上跑Ubuntu系统,需要快速的开发和调整项目的时候,往往使用SSH进行远程的开发测试,这样可以避免传统的打包更新处理,能够快速的在实际环境上测试具体的内容.另外由于系统设备往往需要重启 ...
- ROS中无法定位软件包问题
ROS 和ubuntu版本对应关系