什麼是正確的xpath在這裏?我試圖用HtmlUnit解析一些html,並且無法獲取特定表的行。我希望xpath通過標題元素來標識表格並返回行列表。HtmlUnit/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是「//標題[‘表2’] /父::表/ TR」而是一個在線測試儀結束了返回所有行兩個表中,只是一個不與目標標題。但是,然後在我自己的java測試中使用HtmlUnit返回一個空列表。該行代碼是:
final List<HtmlTableRow> domNodeList = (List<HtmlTableRow>) page.getByXPath("//caption['table2']/parent::table/tr");
任何幫助嗎?
很酷 - 在在線測試器中工作,但我的HtmlUnit代碼仍然返回空列表。那裏有什麼正確的代碼(任何人)? – eflat
考慮嘗試一步一步的路徑: 「// table」是否返回表列表? 「// table [caption ='table2']」是否只返回一個需要表的列表? – JustAndrei
好的提示 - 您引用的兩個表格按預期工作。一旦我添加了最後的「/ tr」,它將返回null。我還沒有機會進一步排除故障,但會有點兒困難。 – eflat