xpath用例

本文详细讲解了如何使用HTML和CSS选择器进行高级筛选,包括省略多级路径、指定元素位置、根据子元素与兄弟关系筛选,以及文本内容匹配。掌握这些技巧,能更有效地处理前端开发中的DOM操作。

一、省略多级路径

html:

<html>
    <body>
        <div id="main">
            <div>
                <ul>
                    <li>
                        text1
                    </li>
                    <li class="select-el select-ui">
                        <span class="badge">!</span>
                        text2
                    </li>
                </ul>
            </div>
        </div>
    </body>
</html>

获取main div:

/html/body/div[@id='main']
//div[@id='main']

获取main div下的li:

//div[@id='main']//li

二、指定筛选结果里的第N个元素

获取第二个li元素:

//div[@id='main']//li[2]
//div[@id='main']//li[position()=2]

三、根据子孙/兄弟元素进行筛选

包含span子元素的li:

//div[@id='main']//li[span]

包含文本元素的li:

//div[@id='main']//li[text()]

既包含span子元素,class属性又包含badge的li元素:

//li[span and contains(@class, "select-el")]

本身是li元素,且兄弟元素也是li并且包含span:

//li[../li/span]

四、根据文本内容进行筛选

文本内容包含"text1"的li:

//li[contains(text(), "text1")]

文本内容包含"text2"的li:

//li[contains(text()[2], "text2")]

PS:因为第二个li下既包含span又包含文本,所以text()匹配的文本节点其实有两个,既子span的前后各一个;第二个文本节点才有实质内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值