38
WebElement body = browser.findElement(By.xpath("//body"));

body.findElement(By.xpath("")); // I want to get all child elements 
                                // inside body, but nothing deeper.

示例文档。

<html>
  <body>
    <div>
    </div>
    <span>
      <table>
      </table>
    </span>
  </body>
</html>

预期结果是divspan。我无法控制这些文件,它们差异很大。

4

4 回答 4

43

("*")给出上下文节点的所有子元素. 所以使用:

body.findElement(By.xpath("*"));
于 2011-01-06T01:15:46.453 回答
9

这是获取元素的直接子元素的另一种方法:

element.findElement(By.xpath("./*"));
于 2014-03-19T23:20:05.563 回答
7
/html/body/*

将仅选择 的直接子元素body

请记住,如果您复制所有这些选定的节点,您也会复制它们的内容。所以,如果你这样做copy-oftable也会产生到结果文件。

另外,我建议您至少阅读 XPath 基础知识,您会问太多类似的问题。

于 2011-01-06T01:12:04.917 回答
2

child不是descendant可以帮助某人。

于 2016-04-30T04:06:27.040 回答