【问题标题】:XPATH: Select a node whose children do not containg some textXPATH:选择其子节点不包含某些文本的节点
【发布时间】:2019-11-10 18:13:03
【问题描述】:

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

<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”的子节点的 'div class="b-margin"' 节点?

【问题讨论】:

    标签: xpath


    【解决方案1】:

    这是简单的 xpath。

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

    截图:

    【讨论】:

    • 加一但注意[not(div[.='Pt'])]可以更简单地写成[not(div='Pt')]
    • 这似乎对我不起作用,但我不知道为什么。当我在我正在使用 Firefox 的网页上对其进行测试时,它与所有 b 边距节点匹配。
    • 可以分享页面吗?
    最近更新 更多