Existe um arquivo HTML (cujo conteúdo eu não controlo) que possui vários input
elementos, todos com o mesmo id
atributo fixo de "search_query"
. O conteúdo do arquivo pode mudar, mas eu sei que sempre quero obter o segundo input
elemento com o atributo id "search_query"
.
Eu preciso de uma expressão XPath para fazer isso. Eu tentei, //input[@id="search_query"][2]
mas isso não funciona. Aqui está um exemplo de string XML em que esta consulta falhou:
<div>
<form>
<input id="search_query" />
</form>
</div>
<div>
<form>
<input id="search_query" />
</form>
</div>
<div>
<form>
<input id="search_query" />
</form>
</div>
Lembre-se de que o exposto acima é apenas um exemplo e o outro código HTML pode ser bem diferente e os input
elementos podem aparecer em qualquer lugar sem uma estrutura de documento consistente (exceto que eu estou garantido que sempre haverá pelo menos dois input
elementos com o atributo id "search_query"
)
Qual é a expressão XPath correta?