Xpath:如何查找与指定 xpath 条件匹配的节点的所有后代的父级



有HTML:

<article>
//some levels...
  <div class="address item">
    <a class="address">
      Address 1
    </a>
  </div>
  <div class="address item">
    <a class="address">
      Address 2
    </a>
  </div>
</article>
<article>
//some levels...
  <div class="address item">
    <a class="address">
      Address 2
    </a>
  </div>
  <div class="address item">
    <a class="address">
      Address 3
    </a>
  </div>
  <div class="address item">
    <a class="address">
      Address 4
    </a>
  </div>
</article>  
<article>
//some levels...
  <div class="address item">
    <a class="address">
      Address 1
    </a>
  </div> 
</atricle>

我需要找到在所有a元素中没有文本Address 1 article(在本例中只有一个article(。我使用(//div[@class="address item"]/descendant::a[not(contains(text(), "Address 1"))])/ancestor::article但它仍然找到article Address 1在哪里.

试试这个,如果它仍然不符合要求,请告诉我:

//article[not(.//a[normalize-space(text())="Address 1"])]

最新更新