Существует 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?