【云驻共创】华为数字机器人7天训练营
【云驻共创】华为数字机器人7天训练营
基础知识:何为RPA
RPA (Robotic Process Automation),即机器人流程自动化,是一种软件技术,可以使软件机器人像人一样,在不同系统之间进行数据的录入、提取和验证等操作。RPA又被称为“数字员工”
这一次华为举办的数字机器人7天训练营就是基于华为自己的产品:华为RPA-WeAutomate工具(华为RPA官网) 的初级用法进行的一次RPA工具的推广活动,其中包括了对网页内容的抓取,读取修改Excel和发送邮件等功能。
再继续追本溯源的话,可以看到归于华为HiLens 管理控制台下的内容。可以看到近年来华为在办公效率方面的布局已经非常庞大,产品的完成度都很高。
(有一点跑题,我们把注意力重新回到7天训练营)
写在前面的一点闲话
在现实的工作中,大部分的工作其实都是枯燥重复而乏味的。
当然不是说那些工作都缺乏技术含量或者是复杂度,而是那些工作虽然有一定的门槛,但是实际上工作的过程中却存在大量的重复性。这些重复性的劳动必要但是无聊还依赖一定程度的智力。
如果要比喻的话,这些工作就好像是17世纪的纺织工作:在纺织机出现以前,这些防治工作算是有一些费脑子的体力活。像极了我们现在做的各种各样的工作:财务,营销供应链,甚至重复部分编程工作——你首先需要具备专业知识,然后就是无情无尽的重复体力活。
好的消息是:另一种“纺织机”——WeAutoMate 来了。
第一天(安装和授权)
而坏消息是: 7天训练营的报名活动基本已经结束了。(手动滑稽)
但是这并不妨碍我们通过这篇文章来看他有意思的训练营内容(训练营的实际weburl在我文章最后的链接里面。)。
第1天的内容主要是教导我们如何安装和机器人的一些配置。
进入华为RPA官网(华为RPA官网),找到设计器下载按钮,下载设计器这里推荐直接下studio版本,还有另外一个版本是只有可执行环境而没有设计功能,在这里就不考虑了。
下载完毕之后就可以解压安装。
安装完毕之后进行产品的激活,可以如下图所示。
如果是个人开发者的话,可以直接进入官网,然后使用试用激活按钮。试用激活是可以无限三个月延期的。
完成之后就如截图所示。
可以开启你的机器人之旅。
第二天( UI录制器)
一开始进入UI页面的时候,可以看到侧栏中海量的控件列表,根据官方统计有200 多个。每一个控件都代表着一个功能,这容易让人误解,以为这是一个类似于代码开发平台一样的工具。
然而出乎意料的是,第2天的内容竟然UI录制功能,有一点类似于以前的按键精灵。可以录制好指定的操作,并且把它转化为脚本内容。这个方式提供了一个非常低的门槛,这样大量完全没有编程功底的用户也可以参与到自动机器人的制作。
如下图:
在录制完成以后,可以把录制的信息进行删除和修改。
- 红圈一的内容是录制中的误操作,可以直接点击删除图标删除。
- 红圈二的部分是录制中键盘输入的内容,可以在后期进行修改。
- 最后是录制过程中获取文本等空间的返回值,也可以在输出位置进行修改。不过注意这里修改的是返回的变量名这个变量在后期的脚本操作中可以引用。
调整完毕之后,点击studio的运行按钮,可以查看效果。
第三天 (脚本基础)
这一天主要是讲的是编写脚本的一些基础知识。
变量和参数
这里的变量是指内存中保存数据的一个存储空间,在整个的自动化项目中变量起到数据传递的作用,一个可能被反复使用的数据都可以保存为变量,分为全局变量,局部变量,全局参数,局部参数。
常见的数据类型
布尔型,整型,浮点型,字符串型,字典型,列表型。下面这张图可以帮助大家更好理解。
变量与参数的引用
数据的操作
在 Studio中字符串的操作完全基于Python语法。如果对Python语法比较熟悉的人就会很快上手。
而对应的每一个语法实现都有自己对应的控件。
字符串分割
比如如果要分割的字符串是1,2,3
那么分割标识,就是逗号 “ ,”
字符串拼接
还有相应的字符串替换,截取等操作就不多加叙述了。
对于list,字典,datetime,还有正则表达式,这一些操作这些都有对应的控件来完成他们的操作。可以看到studio在这一方面功能还是很强大的,基本可以涵盖我们日常工作中所用到的所有数据对象。
在这里自己有做了一个小例子,把字符串分割之后结果用消息窗口弹出。
把它自动把结果转为一个数组,用了循环两次弹出框展现出来。
第四天(基于网页的自动化)
第4天内容算是整个教学里面最重要的一环,在这一天里面训练营带给我们的是在网页的环境下实现自动化工作。要知道,大部分公司的OA系统都是基于浏览器环境。因此这个功能是整个自动化机器人最核心和使用最频繁的。
第1个使用的组件是拾取网络元素。
通过元素拾取按钮,可以在网页中选择任意的目标元素。控件在选择元素以后会自动回到画布。
下图是拾取结果
1 浏览器信息。
2 窗口定位信息。
3 层定位信息,这里是可以支持模糊匹配的,如果存在多层的话,就会从上至下顺序排布。
4 元素节点定位信息。如果有css知识,同学可以根据css知识来定位想取得的元素节点。
小技巧:延迟拾取
有的时候对于浏览器的二级菜单,往往需要等点击一级菜单以后才会出现。 Studio就提供给了我们一个贴心的延迟拾取功能。让拾取功能在我们指定的时间之后再进行页面拾取,这样就可以获取到我们的二级菜单出现之后的结果。
Xpath
xpath是xml路径语言,它是一种使用xml路径表达式查找web页面上任意路径元素的语言。这个技术主要是用来寻找外部网页里面某个元素的位置。在自动化机器人中,这个技术分为绝对定位和相对定位。
这一部分比较难,需要有专业外部开发知识的同学才会学会。而笔者刚好是全站工程师,在这里推荐使用绝对定位的方式。这样更不容易出错。
其实获取的方式也很简单:在谷歌浏览器点击F12按钮,点击inpect,找到你想定位的洞,通过高亮位置右键,点击选择copy full xPath。
如果你获得了类似下面的路径,则你的操作成功:
/html/body/div[4]/div[2]/div[2]/div[3]/div[2]/div[2]/nav/div[5]/div[1]/div/div[1]/a/p
一些常用的web网页自动控件
获取网页表格控件。
在网页中输入文本控件
此外还有获取文本控件,下拉控件等。
第五天(基于excel的自动化)
除了OA之外, Excel和word则是办公的时候用的最多的软件了。因此怎么能没有excel的自动化支持呢?
有了上一天的基础,我们对操作Excel的自动化得心应手。
可以看到在官方的控件之中,对于Excel的的页,行,列,单元格,操作控件全都很齐备。真正使用的时候也非常简单,只要调用响应控件就可以了。
这里比较特殊的是Excel宏操作。
Studio提供了两个控件,用于执行Excel宏代码,分别是执行Excel中的宏和调用外部vba函数。但是这两个控件对于大部分的电脑和软件都存在权限问题,所以一定要在excel信任中心-开发人员设置-添加信任 才可以顺利运行。
另外在office和WPS使用的时候也是有对应的区别。这个要大家根据自己电脑的情况分别对待。这里也不多做叙述了。
第六天(word自动化)
相比昨天的Excel,今天主要讲的是word自动化操作。难易度其实比昨天还要简单。
文本内容读取控件
这个控件会一次性读取word里面所有内容。并且把它保存到自定义的变量里面去。
文本内容替换控件
这里的话要注意它的表达式,想要查找的文本在find text后面,替换内容则跟在replace_text的后面。
还有几个控件,比如插入表格,插入图片,导出PDF替换图片等控件。大体使用方式和上两个差不多。这里不再多加叙述。
第七天(email自动化)
训练营最后一天,本以为是一个难度很高,复杂且费神的功能。没想到优秀的华为工程师已经把这些内容浓缩进了简单的控件里,让这一天的内容无比轻松。
官方首先提供了一张图,里面给的是对应各种邮箱的Email控件的区别。这里推荐imap和smtp两个协议的控件,因为通用性能比较好。
使用imap控件获取邮件。
这里要注意几点
- 每一个邮件的邮箱服务器是不一样的,如果QQ邮箱需要写qq.com。
- 协议端口也有所不同,如果是IMP4,那么就需要选993端口。
- 筛选主题这边则是你需要对想收取的邮件的一个初步筛选,一般是使用关键词,比如过滤发票报销等等。
使用smtp控件发送邮件
凭证协议端口跟上面的配置一样,内容按照自己想发出的内容,填写到内容设置里面的字段即可。
总结
本文中介绍的华为RPA机器人的功能并不完整,在7天训练营内容之外,WeAotumate还有诸如文字识别,图像识别,子流程,外部借口等高级功能,在这些功能的支持下,再加以优秀的工程师让功能落地,确实可以对一批大量重复劳动的岗位产生不小的冲击。
新技术的使用虽然会淘汰掉一些岗位,但同时也会增加新的岗位。
在技术革命的今天,近100年来世界生产的财富,已经超过了近1000年来的总和。人们减少了劳动的时间和强度,却可以创造出比以前更多的价值。
我想,这就是技术革新带来的好处。
总之,感谢技术革新和自动化,也感谢才华横溢的华为工程师们。
本文参与华为云社区【内容共创】活动第16期。
https://bbs.huaweicloud.com/blogs/352652
任务22:华为数字机器人7天训练营
- 点赞
- 收藏
- 关注作者
评论(0)