第2节:用UiPath实现record功能(适合做重复性强的事)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第2节:用UiPath实现record功能(适合做重复性强的事)相关的知识,希望对你有一定的参考价值。

参考技术A 首先要搞清楚UiPath中record功能有四种情况,其次就是什么可以record什么不可以。

根据 官网视频  tutorials的介绍,可以知道,基本分为图2中的四种情况。简单的说,区别在于Basic会把截图步骤比较简单的记录下来,Desktop会详细记录整个record的全过程。而Web适用于网页(其实用Basic和Desktop也可以的),比如抓取结构化数据可以用此功能。最后一个是Citrix虚拟机的状态下使用。

然后就是什么可以record什么不可以,如图3所示。像是键盘快捷键和右击鼠标键都是不可以录制的。

在需要重复做一件事的时候,适合使用该功能。我的 使用场景 是先读取一张excel表格中的发票号码,再自动化在网页中进行迭代输入查找,进行一系列的bottom操作。流程很简单,如图4所示。

接下来,具体看看里面的内容。读取excel中的发票号,需要注意的是右边"Options"里面选不选"AddHeaders"取决于表格里面有没有表头。还有Output的DataTable的Scope设定在全局范围内,因为后面迭代循环输入时要用到(不知道怎么设的可以看我的上一篇日记哈)。

下一步则是循环执行相同行为的一个流程过程,这里我用的是Desktop方式。另外,这里需要加个ID=String.Join(",", row.ItemArray)防止后面报错。

这里记得需要改变ID的类型为String再输入网页的搜索栏中,如下图所示。

后面都是一系列的按Bottom操作,不用太担心,UiPath都可以自动记录下来。但是你也可能会在这个过程中遇到一些bugs,主要是因为Selector的缘故。在后面会讲到怎么处理这个问题。

图9中的Message Box看上去加的很多余,那是因为UiPath自动化速度太快,网页还无法缓冲过来。会导致后面的步骤无法实现,但这样的话又多出了需要人手工需要点击跳出来的窗口的“ok”键。那要怎么解决这个问题呢?其实有很多种方式可以尝试,比如在这里加一步写入excel表记录某个发票号已经审计完成的信息。也可以尝试如图10所示,放个delay暂停几秒(还没有调试过,不知道work不work)。

那么以下的图11-图就是缩小网页窗口的步骤,主要是因为翻滚网页是无法被录制的,只好出此下策。看上去很复杂麻烦,但record起来还是很快方便的。

缩放到满意的size之后就可以点击Bottom啦~然后又出现Message Box的原因和上面一样,否则会报错。

这里我需要把页面放大回原来的100%再进行下一个号码,同样步骤的重复,主要是因为不这样做网页会报错。

大致过程就是这样了,看上去的确是个很笨重的过程。比如为什么不把缩放页面放在for循环外面?还是因为这样做UiPath会报错,或者网页会报错。所以具体情况要具体分析了。

最后讲一下Selector的问题,这个是个比较棘手的问题。举选择“工具”这个Bottom的例子,右边圈起来的两个地方,点击进去第二个选项“Edit Selector”可以帮你检查或者重新选择正确的区域或者是说Bottom的正确位置。只有像图18和图19中那样,全部都是绿色时是ok的。这里还要特别注意,就是大范围中一定要包括你要选的Bottom(实际操作中就明白这句话的意思了)。

假如是全红色的不可行状态,你可以选择“Indicate Element”进行重新选择,让UiPath重新抓取一下Bottom的信息。还可以使用“Highlight”去确定抓取位置是否正确与否。关于Selector的进一步学习可以看官网视频,里面还涉及到如何改变Attributes以及正则匹配(使其通用范围更广)的问题。

本节完!撒花!继续写下节~~

以上是关于第2节:用UiPath实现record功能(适合做重复性强的事)的主要内容,如果未能解决你的问题,请参考以下文章

第5节:用UiPath实现标签问题

小小彩蛋3:用UiPath做record时用通配符*调整selector中的属性

第7节:用UiPath自动发送邮件

5.3UiPath录制器的介绍和使用

UiPath如何实现将表格中资料循环录入网页或系统?

用UiPath在excel中建立数据透视表(pivot table)