xpath - XPath按计数查找节点

标签 xpath

在每个div中找到包含三个列表元素的h1。 (source

<div>
    <div class="fast">
      <h1>Fast</h1>
      <ul>
        <li>Cars</li>
        <li>New Horizon</li>
        <li>Chinese Food</li>
      </ul>
    </div>

    <div class="expensive">
      <h1>Expensive</h1>
      <ul>
        <li>Cars</li>
        <li>New Horizon</li>
        <li>Apple Watches</li>
      </ul>
    </div>

    <div class="nasa">
      <h1>NASA-Owned</h1>
      <ul>
        <li>Lunar Module</li>
        <li>New Horizon</li>
      </ul>
    </div>
  </div>


这对我有用(但我希望找到更简单的语法)

//ul/li[count(../li)=3]/../../h1

最佳答案

我会写

//div[count(.//li)=3]/h1


但是要小心:您要求的是“其中包含三个列表元素的每个div”;接受的答案将为您提供“每个元素至少包含一个未编号的列表,其中恰好包含三个列表项”,虽然在此特定测试文档上可能给出相同的结果,但这不是同一件事。

关于xpath - XPath按计数查找节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46825709/

相关文章:

python - 如何在 Google Trends 中点击 Load More 按钮并通过 Selenium 和 Python 打印所有标题

ruby - 用于选择带有可选中间纯空白文本节点的前一个元素的 XPath

xpath - 操纵,,遍历xpath选择的链接

xml - 选择祖先第一个节点的属性值

dom - 使用 Xpath 包含 ID?

css - 使用 selenium webdriver 查找 xpath/css

java - org.openqa.selenium.ElementNotVisibleException : Element is not currently visible while clicking a checkbox through SeleniumWebDriver and Java

xml - 如何使用xPath和XmlNamespaceManager正确查询xml片段

java - 如何使用 XPath 查询更新 Jackrabbit 中的 XML 内容?

python - 查找下一个/最近的按钮 Selenium