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