ここで正しい xpath は何ですか? HtmlUnit でいくつかの html を解析しようとしていますが、特定のテーブルの行を取得するのに問題があります。キャプション要素を介してテーブルを識別し、行のリストを返す xpath が必要です。
<html>
<table>
<caption>table1</caption>
<tr><td>cell 1.1</td><td>cell 1.2</td></tr>
<tr><td>cell 2.1</td><td>cell 2.2</td></tr>
</table>
<table>
<caption>table2</caption>
<tr><td>cell 1-1</td><td>cell 1-2</td></tr>
<tr><td>cell 2-1</td><td>cell 2-2</td></tr>
</table>
</html>
私が考える xpath は "//caption['table2']/parent::table/tr" ですが、オンライン テスターは、ターゲット キャプションを持つものだけでなく、両方のテーブルのすべての行を返すことになります。しかし、自分の Java テストで HtmlUnit を使用すると、空のリストが返されます。そのコード行は次のとおりです。
final List<HtmlTableRow> domNodeList = (List<HtmlTableRow>) page.getByXPath("//caption['table2']/parent::table/tr");
何か助けはありますか?