流程定义之进阶篇
1、流程说明
在《流程定义之基础篇》 一文中,我们已经可以做到新建标签页、访问网址,并能够通过网页元素的selector定位到eBay首页的search框, 还能够输入检索内容,执行回车按键以完成商品的检索。本文,我们在上述流程的基础上做一些进阶内容,试图让大家理解什么是WHILE循环,以及如何在循环体中进行遍历。
2、WHILE循环
如果我们来观察eBay的检索结果页面,可以做出这样几个判断:
第1页、第2页、第3页。。。每一个检索结果页面,都可以视为一个不同的循环体,可以通过点击下一页的箭头,来进行循环体的循环
为了避免页面的缓加载(所谓缓加载是指页面内容并没有完全加载完毕,需要通过滚动到不同的内容区才会完成相应内容的加载),针对每一个循环体页面,我们都需要从页面头部滚动到页面底部,以确保每一个检索结果都能够正常显示
《WHILE循环中的循环体》
我们从节点列表中拖拽“WHILE循环”节点至内容区,同时,为了避免死循环,我们点击“退出循环”节点的编辑按钮,简单起见,设置退出循环的条件为:循环3次即可退出。

《WHILE循环的退出条件属性设置》
此时的WHILE循环体定义如下图所示:

《WHILE循环体的流程定义》
3、WHILE循环体内的流程定义
下面我们开始定义WHILE循环体内的流程。
3.1、滚动页面
首先应该滚动页面内容,确保页面中的所有内容都可以正常加载。 从节点列表中选择“滚动页面”节点并拖拽至内容区,在弹出的属性对话框中,我们需要(1)选择鼠标拟在什么位置进行滚动, (2)此处我们选择在整个检索结果页面区内进行滚动,同时,我们要设定(3)滚动位置为“底部”。

《滚动页面的节点属性设置》
“滚动页面”节点添加后的流程定义如下图所示:

《在循环体内滚动页面的流程定义》
3.2、翻页
滚动到页面底部后,显然,此时应该进行翻页了。所谓翻页,无非就是点击“下一页”的箭头图标。 从节点列表中选择“点击元素”节点并拖拽至内容区,在弹出的属性对话框中,我们需要(1)先选择对哪个页面节点进行点击, (2)此处我们选择下一页的箭头图标作为点击位置,同时,我们要设定(3)点击元素的位置为“元素的随机位置”,这样更像是人为的点击,而非机器的点击。

《点击元素的节点属性设置》
点击元素节点添加后的流程定义如下图所示:

《在循环体内点击元素的流程定义》
4、执行预览
至此,本文所要介绍的流程定义已经编辑完毕,点击“执行预览”菜单,可以看到:
- 花漾指纹浏览器自动新建标签页,并访问eBay官网。
- 在search框中输入power bank,并通过按回车键,显示搜索页面
- 进入了WHILE循环体,在每一次循环中,首先滚动页面到底部,然后点击下一页按钮,进入到下一个循环体,依次反复
- WHILE循环执行3次后,在即将执行第4次时,判断已经满足退出循环的条件,故退出循环,流程执行完毕

《本流程定义最终的执行预览》
5、总结
在本文中,我们知道了什么是WHILE循环,以及需要设置退出循环的条件以避免出现死循环; 同时,我们也了解了现在很多网站会应用“缓加载”技术,为了避免“缓加载”会对RPA流程带来影响,我们可以通过滚动页面予以规避; 最后,我们还可以通过“点击元素”的流程节点来模拟用户的鼠标点击操作。
请进一步阅读 《流程定义之高级篇 Part 1》一文。