如何使用给定的xpath在DOM中的文本节点之前和之后获取文本内容?

时间:2017-11-14 18:58:15

标签: java dom xpath

我有一个DOM说:

<div>
    <span>
    Create Account
    </span>

    <label>Enter first name </label>
    <input type="text" id="firstName"> First name
    </input>

    <label>Enter last name </label>
    <input type="text" id="lastName"> Last name
    </input>

</div>

现在,假设我id="firstName"只有//input[@id='firstName']的Xpath。 现在,如果我想知道第一个前面的textContent(“输入第一个名字”)和后面的(“输入姓氏”)文本节点。 我怎么能得到它?

我试过这个://input[@id='firstName']/preceding::*[text()][1]同样//input[@id='firstName']/following::*[text()][1]

但他们反而给我完整的元素节点,我只想要文本内容。

1 个答案:

答案 0 :(得分:0)

尝试使用以下XPath匹配两个文本节点:

//label[following-sibling::input[@id='firstName'][1] or preceding-sibling::input[@id='firstName'][1]]/text()