xpath:如何查找不包含文本的节点?

时间:2018-02-05 08:30:01

标签: xpath

我有一个类似的HTML:

...
<div class="grid">
    "abc"
    <span class="searchMatch">def</span>
</div>
<div class="grid">
    <span class="searchMatch">def</span>
</div>
...

我想获得不包含文本的div,但是xpath

//div[@class='grid' and text()='']

似乎不起作用,如果我不知道其他div有的文本,我该如何找到该节点?

2 个答案:

答案 0 :(得分:1)

您需要not()声明+ normalize-space()

//div[@class='grid' and not(normalize-space(text()))]

//div[@class='grid' and normalize-space(text())='']

答案 1 :(得分:1)

假设我已将要求正确推断为:

查找所有<div>@class='grid'元素,这些元素没有直接包含的非空白文本内容,即没有非空白文本内容,除非它在像{{{}这样的子元素中1}}。

然后答案是

<span>