需求:在某网填报和上传文件。有数千个case,每个case需要上传13个文件,人工处理工作量大,容易出错,故需要实现自动化。
方案概述:
1. 基于RPA工具Uipath, 绝大部分操作为鼠标点击、输入文字,这些比较简单。
2. 文件上传的时长不可控,这里使用页面元素检查来确认上传状态。未完成则继续等待。
3. 提交时会出现图形拖拽验证码,这个需要调用Python代码识别验证框位置,再将位置值传递给RPA变量,最终调用点击的左键按下和左键抬起来实现图片拖动。
1. Uipath项目
使用图形界面展示主要活动如下:
准备步骤 >> 上传附件 >> 填报信息 >> 提交保存 >> 处理拖拽验证码
Uipath使用xml格式来保存项目,用文本编辑器打开 main.xaml如下图:
源码文件可读性非常好,可以帮助理解图形界面的操作。
2. 文件上传状态确认
先设状态变量open4input为false,然后使用条件为【open4input=false】的Do-While循环。循环体内先等待2秒,再重新检测状态,如果上传完成,则变量变为真,退出循环。
3. 处理图形拖拽验证码
简单来讲,就是 保存图片 >> RPA调用python代码 >> python返回验证框位置 >> RPA根据位置拖动图片。
Python代码和原理在上一篇可以找到。
下图为python代码输出结果到变量 pythonOutput
下图为pythonOutput值传递给整型变量 xoffset
下图为图片拖动目标位置的设置,xoffset+6是试验出来的结果。
小结:从,2018.03 到 2019.8,uipath的版本升级很快,功能越来越完善,非常适合重复性强的业务场景。