跟鹏飞学RPA——你爱学习,我爱分享。学习RPA就是这么简单。
今天我们开始第二场专项练兵——循环填写表单。
★练兵介绍
场景:从指定表格中获得文本内容,在表单上循环填写并提交。要求将获取表格内容和填写表单分别放在不同的流程块里。表格内容及表单形式图下:
1.这张表我放在源目录文件夹res中。
2.需要将5个人的信息循环填写以下表单并提交。
网址:http://www.vrbrothers.com/cn/wqm/demo/pages/Demo-ComplexForm.aspx
以上案例网址来自紫猫学院
所需命令:启动浏览器、打开Excel工作簿、读取区域、循环、设置元素文本、设置元素选择、设置元素勾选、点击目标。
★动作拆分
▼构建结构
按照题目要求,我们增加两个流程块:读取表格内容、循环填写表单。注意右下角我创建了名为"表单数据"的全局变量。因为表格读取区域后内容需要在“循环填写表单”流程块应用,所以应用全局变量才能传递进去。而表格读取区域后内容为数组,所以值一栏填写的[]。
全局变量不懂的可以复习下往期链接。
▼读取表格内容流程块
----打开表格
使用打开工作簿命令打开表格,路径选择源文件下表格。
----读取区域
使用读取区域命令,需配置区域范围,注意工作簿对象、sheet内容是否正确。注意输出到的变量为开始配置的全局变量名“表单数据”。
到此,读取数据的代码已经写完。我们可以加一条输出调试信息输出下。
敲黑板,划重点。因为读取内容赋值的变量是全局变量,我们在当前流程块运行是会出错的。所以我们需要退出当前流程块并运行整个流程。
▼循环填写表单流程块
----启动浏览器
使用启动浏览器命令,属性配置浏览器类型和网址;并使用等待元素命令等待界面加载完成。
----使用循环构造框架
经过分析可知,我们现在需要填写5个人的信息,只需要创建一个人填写表单的代码,然后放入循环即可。
下面先利用读取的数组构建一个循环。
这里循环变量用的i表示,初始值为0,结束值应为数组的最大下标。以上内容需要在源代码格式下填写。
----分析数组内元素表示方法
上节课讲过,读取区域后的内容为二维数组。这里再强调一下。
二位数组由多个一维数组组成,每个一维数组含义为每行。鹏飞老师为第一行,应表示为表单数据[0];遇见老师为第二行,应表示为表单数据[1],以此类推……即每行应表示为表单数据[i]
得到每行数据表示方法了,那具体元素内容就可以在一维数组基础上继续遍历。用户名为第一个元素,下标应为0,那么鹏飞老师的用户名应表示为表单数据[0][0]、遇见老师的用户名应表示为表单数据[1][0],以此类推……即每个用户名应表示为表单数据[i][0]。其他类别的表示方法以此类推。
----填写用户名、密码、EMail地址
使用设置元素文本命令填写用户名。写入文本应配置为表单数据[i][0]。
密码、EMail地址填写同样使用设置元素文本命令,密码的文本数据为表单数据[i][1],EMail地址的文本数据为表单数据[i][2]。
----勾选性别
这里讲个设置元素勾选命令,专门用来打✔的命令,只需要配置目标即可。
性别勾选有男、女两个选项。我们需要判断一下读取的内容是男还是女,然后分别点击不同的性别。
这里用如果命令即可。读取的性别用表单数据[i][3]表示,如果表单数据[i][3]="男",勾选性别为男的✔;否则,勾选性别为女的✔。
----选择省、市
读取数据中省份用表单数据[i][4]表示,地市用表单数据[i][5]表示。
从表单可以看出,省、市及求职意向设置为下拉菜单选择,这里可以使用一条设置元素选择的命令。
需要配置两个内容。一是选择的目标;二是包含元素,即选择的内容。我们用表单数据[i][4]、表单数据[i][5]表示。
----选择求职意向
求职意向用表单数据[i][6]表示。
我们尝试用设置元素选择时,发现选择目标会出现以下情况,说明并不是下拉选择框,不能应用此命令。
那只能用鼠标点击命令。那该怎样点中表单中不同的求职意向呢?我们先用选中第一条销售分析下目标属性特征。
从上图可以看出,属性特征aaname正是你要选择的内容。因此,我们将aaname改为我们的表单内容,即表单数据[i][6]不就可以了!
----选择爱好
爱好用表单数据[i][7]表示。
同样用设置元素勾选命令即可。那如何点击到指定的爱好呢?
与勾选性别一样,用4个如果命令就可以了。
----填写自我评价、勾选我已阅读、点击提交
同上讲解过的命令,分别用设置元素文本、设置元素勾选、点击目标命令即可实现。
最后提交成功后,为了下次能够正常填写,需要后退一步,使用浏览器下的后退命令即可。
下面看下运行视频。
★随堂作业
问题:练习上面的案例,表格中有的人求职意向、爱好为多选。提示可使用查找字符串命令。
★明日预告
字符串使用案例。
你学会了嘛?下课!
更多内容请关注跟鹏飞学RPA。
本文使用 文章同步助手 同步