初识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 ...
随机推荐
- Windbg常用命令及分析套路
自己也在使用windbg分析问题,但是属于刚入门所以转发下大神的总结:https://www.cnblogs.com/fj365/p/13295453.html 常用 !threadpool 查看线程 ...
- Oracle 到 MySQL 函数替换方案汇总
常用函数和语法转换 NVL函数 Oracle语法: NVL(COUNT(*), 0) MySQL语法: IFNULL(COUNT(*), 0) 转字符串 Oracle语法: to_char ...
- 系统编程-进程-当文件操作遇上fork
我的关联博文: 系统编程-进程-fork深度理解.vfork简介 系统编程-进程-先后fork或open一个文件的区别 test1: lseek基本使用 #include <stdio.h& ...
- トヨタ自動車プログラミングコンテスト2024#7(ABC 362)
非常好名次,使我的 \(1\) 旋转 四发罚时应该是这次比赛最唐的东西了,没有就进前一千了 A.Buy a Pen 特判秒了,懒得打三种 ans=,所以就把不能选的那个赋值成无穷大了 #include ...
- “全栈合一 智慧运维”智和网管平台SugarNMS V9版本发布
以"管控万物 无所不能 无处不"在为产品创新理念,智和信通打造"全栈式"网络安全运维平台-智和网管平台SugarNMS.立足数字化.智能化.可视化.自动化,整合 ...
- 2. 解释器与PyCharm安装
1. 解释器安装 官网 选择解释器版本 建议选择比最新版本低2~3个版本,当前选择3.10 添加到环境变量,如不勾选后续可手动配置 安装完成后已将解释器安装路径自动添加到环境变量中 将解释器安装路径添 ...
- Android 常用的性能分析工具详解:GPU呈现模式
此篇将重点介绍几种常用的Android性能分析工具: 一.Logcat 日志 选取Tag=ActivityManager,可以粗略地知道界面Displaying的时间消耗.当我们打开一个Activit ...
- Android :安卓学习笔记之 Handler机制 的简单理解和使用
目录 Handler机制 1.Handler使用的引出 2.背景和定义 3.作用和意义 4.主要参数 5.工作原理及流程 5.1.对应关系 6.深入分析 Handler机制源码 6.1.Handler ...
- 怎么封装一个vue的自定义指令
自定义指令分为 全局和局部的指令 : 1. 自定义全局指令: 在 mian.js 中 ,使用 Vue.directive('指令名' , 配置对象 ) 2. 局部自定义指令 在组件中使用 direc ...
- 自签openssl证书(包含泛域名)
1.安装openSSL weget http://www.openssl.org/source/openssl-1.0.0a.tar.gz Tar -zxvf openssl-1.0.0a.tar.g ...