-
-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Example of JavaScript instruction for the current iteration in a conditional statement
Naibo Wang edited this page Jun 7, 2023
·
6 revisions
判断条件中针对当前循环项的JavaScript指令示例
如下图,如要采集表格中第五项深度字段包含“10”的条目,需要在循环中添加判断条件,并将条件设置为如下命令:
return document.evaluate("./td[5]", arguments[0], null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.innerText.indexOf("10") >= 0原理:循环的XPATH为:/html/body/div[1]/div[3]/div[1]/div[1]/div[2]/div[1]/div[1]/table[1]/tbody[1]/tr,即循环检索表格中的每一行,如果条件判断简单设置为“当前循环项包含文本10”,那么不管是表格这一行的哪一项包含10都会提取当前行数据,不符合我们“只想采集当第五项’深度’字段包含10的行数据”的需求,因此需要写上面的命令。
命令中的./td[5]是相对当前行/html/body/div[1]/div[3]/div[1]/div[1]/div[2]/div[1]/div[1]/table[1]/tbody[1]/tr内部的第5个td元素,即深度字段的值,arguments[0]表示当前行元素,.singleNodeValue为取结果的第一个Node节点,后面的innerText为元素文本,indexOf为字符串查找指令。
https://emagecompany.com/search.php?key=%E5%8D%8F%E4%BC%9A&page=1&total=360

Click Pages above to see more pages