如何编写XPath在保留select节点的前提下忽略选项列表的首个选项
解决方案
根据你的需求分两种场景处理:
- 如果你需要定位到当前select节点下除第一个option外的所有option节点,直接在原有XPath后追加
/option[position()>1]即可,完整表达式:
//select[contains(@id, 'product')]/option[position()>1]
说明:XPath中节点位置下标从1开始计数,position()>1就会排除掉排在第一位的默认Select选项
- 如果你需要仍然匹配select节点本身,仅过滤掉只有1个默认option的无效select,可以在select的筛选条件里追加规则,完整表达式:
//select[contains(@id, 'product') and count(./option) > 1]
说明:这个表达式只会匹配id包含product、且至少有2个option子节点的select节点,自然过滤掉只有第一个默认option的无效select
内容的提问来源于stack exchange,提问作者Vlad Yrch
相关产品推荐
相关产品推荐

