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 に答える