我有一个类似的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有的文本,我该如何找到该节点?
答案 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>