使用XPath选择元素旁边的文本

时间:2015-02-18 10:54:24

标签: html xpath expression

我很想写xpath表达式,面临捕获<b> Tag兄弟元素旁边的字符串(或)文本的问题,如

<div id="product-desc" class="green-box">
    <p class="ref">
        <b class="">Mfr Part#:</b>
        "STM6520AQRRDG9F"
        <br class="">
        <b class="">Mounting Method:</b>
        "Surface Mount"
        <br class="">
        <b class="">Package Style:</b>
        "TDFN-8"
        <br class="">
        <b class="">Packaging:</b>
        "REEL"
        <br class="">    
    </p>
 </div>

在上面的html代码中,我应该如何获得<b>元素旁边的文本xpath表达式(“STM6520AQRRDG9F”)。我尝试了以下方式

//*[@id="product-desc"]/p[2]/b[1]/following-sibling::text()

任何人都可以建议我获得获取文本xapth Expression的当前xpath表达式。

感谢您的提前问候。

1 个答案:

答案 0 :(得分:2)

正如hek2mgl所提到的,您要查找的文字位于该p第一个 div元素中。此外,为了避免任何令人惊讶的结果,您应该只选择第一个兄弟节点的文本节点。

一种方法是

//*[@id="product-desc"]/p[1]/b[1]/following-sibling::text()[1]

,结果将是

[EMPTY LINE]
"STM6520AQRRDG9F"
[EMPTY LINE]