xpath innertext没有任何子节点内容

Aar*_*ron 2 xhtml xpath

我有一些像这样的HTML(我无法改变):

<div>
    <p class="name">
        <span>Employee Name: </span>
        John Smith
    </p>
</div>
Run Code Online (Sandbox Code Playgroud)

而且我想使用xpath来提取出"John Smith"部分.

我一直在尝试使用此代码:

//div//p[@class='name']//text()
Run Code Online (Sandbox Code Playgroud)

但是,它不起作用.

实现我追求目标的最佳途径是什么?

非常感谢.

Mad*_*sen 5

你几乎拥有它.

将您的XPath更改为: //div//p[@class='name']/text()

使用时//text(),它会选择所有后代text()节点,其中包括作为子节点的"Employee Name:"文本节点<span>.

最好尽量避免使用//,因为它会降低您的表达效率并且更容易出现这类问题.