Я использую getFirstByXPath в HtmlTableRow с HtmlUnit, но он не работает должным образом.xPath on HtmlTableRow (HtmlUnit) не работает должным образом
Если я войти в HtmlTableRow asXml()
<tr class="odd">
<td class="picColumn">
<img src="xyz.jpg"/>
</td>
<td>
Half Day Tour to the Rhine - Halbtages-Ausflug zum Rhein
</td>
<td>
<b>
Frankfurt am Main
</b>
<br/>
ETS Gmbh & Co. KG
</td>
<td class="dateColumn">
01.04.2016
<br/>
15:15 Uhr
</td>
<td>
Ticket
</a>
</td>
</tr>
Тогда я пытаюсь получить доступ к различным значения с row.getFirstByXPath(xpath);
, который только в следующем случае штраф: row.getFirstByXPath("//td[@class='dateColumn']");
. Если я попытаюсь получить доступ ко второму столбцу с row.getFirstByXPath("//td[2]");
, мой результат будет null. Что я делаю не так?
Спасибо!
Я не уверен, что это поможет, но в любом случае вам следует избегать использования селектора '//': это пустая трата ресурсов и боль для поддержания. Попробуйте использовать '/ tr/td [2]'? – Aaron
Я тестировал с '/ tr/td [2]' и '/ tr/td [@ class = 'dateColumn']' прямо сейчас, ни один из них не имеет результата. Теперь оба они null :-( – user3287019
Я не знаком с HtmlUnit, поэтому мой совет XPath может быть не так хорош в вашем случае. Может быть, HtmlTableRow - это не весь XML-документ? – Aaron