Существует HTML-файл (содержимое которого я не контролирую), который имеет несколько input
элементов с одинаковым фиксированным id
атрибутом "search_query"
. Содержимое файла может измениться, но я знаю, что всегда хочу получить второй input
элемент с атрибутом id "search_query"
.
Мне нужно выражение XPath, чтобы сделать это. Я пытался, //input[@id="search_query"][2]
но это не работает. Вот пример строки XML, где этот запрос не удался:
<div>
<form>
<input id="search_query" />
</form>
</div>
<div>
<form>
<input id="search_query" />
</form>
</div>
<div>
<form>
<input id="search_query" />
</form>
</div>
Имейте в виду, что вышеприведенное является просто примером, а другой HTML-код может сильно отличаться, а input
элементы могут появляться в любом месте без согласованной структуры документа (за исключением того, что я гарантирую, что всегда будет хотя бы два input
элемента с атрибутом id, равным "search_query"
).
Какое правильное выражение XPath?