xpath 处理自增的id manage11 使用表达式 //*[starts-with(@id, "manage") and number(substring-after(@id, "manage")) >11]
背景知识1
选择满足多个条件的元素节点:
//标签名[条件1 and 条件2]
//div[@class="example" and @id="demo"]:
选择所有具有class属性值为example且id属性值为demo的div元素节点。
背景知识2
如果要选择以特定字符串结尾的id属性的元素节点,可以使用ends-with函数。以下是一个示例: //*[starts-with(@id, "manage") and ends-with(@id, "11")]
背景知识3
substring-after
函数的作用是在@id
属性值中找到第一个出现的"manage",然后返回该字符串之后的部分。
例如,如果@id
的值是"manage11",那么substring-after(@id, "manage")
将返回"11"
//*[starts-with(@id, "manage") and number(substring-after(@id, "manage")) = 11]
因为是id自增的所以大部分需要改为大于
//*[starts-with(@id, "manage") and number(substring-after(@id, "manage")) > 11]
1.使用starts-with()
函数选择以"manage"开头的所有元素,
2.使用substring-after()
函数获取ID中"manage"后面的部分。
3.使用number()
函数将这部分转换为数字,
4.使用逻辑运算符and
来判断id是否以manage开头,manage之后的数字是否大于11。