-
-
Notifications
You must be signed in to change notification settings - Fork 4.5k
循环次数设定(包括无限循环)及检测到页面内容才提取数据
Naibo Wang edited this page Dec 25, 2023
·
5 revisions
本教程示例任务文件(0.6.0及以上版本):256.json,可直接放入tasks
文件夹内读取此文件。
需求:有时页面加载不完全导致内容显示不全,需要不断重新刷新页面直到想要的元素出现并采集数据,最多重试次数为15。
实现方法:
- 任务流程图左侧拖动一个
循环
操作到流程图:
2.1 如果想设置固定次数循环,就把循环类型设置为单个元素
,元素内容为//body
(因为//body是所有网页都有的内容),最多执行循环次数为15:
2.2 如果想设置无限循环一直检测直到检测到指定元素为止,就把循环类型改为JavaScript命令返回值
,代码内容为return 1
:
- 左侧拖动一个
判断条件
操作到循环
操作内部,并设置条件分支1
的类型为当前页面包含元素
,包含的元素XPath设置为自己想要等待的元素的XPath,如/html/body/div[2]/p
;条件分支2
的条件类型为无条件
:
- 判断条件是从左往右判断的,即如果最左边的条件分支的判断条件满足,则执行最左边分支内的操作,否则判断从左向右第二个分支的条件是否满足,以此类推。因此,在
条件分支1
内部,即已经检测到自己想要的元素的情况下,添加自己想要进行的下一步操作,如提取数据
,然后不要忘了在提取数据操作后添加自定义操作
,类型为退出当前循环
,以便提取数据完成后退出当前循环,而不是一直继续循环:
- 对于在
条件分支2
内部,即还没有检测到自己想要的元素的情况下,添加自定义操作
,类型为刷新当前页面
,即实现了当检测不到元素的时候刷新页面的功能:
全部流程:
Click Pages
above to see more pages