XPATH:选择其子节点不包含某些文本的节点

XPATH:选择其子节点不包含某些文本的节点,xpath,Xpath,我正在尝试选择其子节点不包含某些特定文本的节点。 例如: <div class="b-margin"> <div class="tag">Pt</div> <div class="tag">En</div> </div> <div class="b-margin"> <div class="tag">Ru</div> <div class="tag"&

我正在尝试选择其子节点不包含某些特定文本的节点。 例如:

<div class="b-margin">
    <div class="tag">Pt</div>
    <div class="tag">En</div>
</div>
<div class="b-margin">
    <div class="tag">Ru</div>
    <div class="tag">En</div>
</div>

Pt
EN
茹
EN

如何选择没有“Pt”文本子节点的“div class=“b-margin”节点?

下面是简单的xpath

//div[@class='b-margin' and not(div[.='Pt'])]
截图:
下面是简单的xpath

//div[@class='b-margin' and not(div[.='Pt'])]
截图:

加上一个,但请注意,
[not(div[.='Pt'])]
可以更简单地写成
[not(div='Pt')]]
这似乎对我不起作用,但我不知道为什么。当我在使用firefox的网页上测试它时,它与所有的b-margin节点都匹配。是否可以共享该页面?加上一个,但请注意,
[not(div[.='Pt'])]
可以更简单地写成
[not(div='Pt')]
这似乎对我不起作用,但我不知道为什么。当我在我使用firefox的网页上测试它时,它匹配所有的b-margin节点。是否可以共享该页面?