There is an HTML file (whose contents I do not control) that has several input
elements all with the same fixed id
attribute of "search_query"
. The contents of the file can change, but I know that I always want to get the second input
element with the id attribute "search_query"
.
I need an XPath expression to do this. I tried //input[@id="search_query"][2]
but that does not work. Here is an example XML string where this query failed:
<div>
<form>
<input id="search_query" />
</form>
</div>
<div>
<form>
<input id="search_query" />
</form>
</div>
<div>
<form>
<input id="search_query" />
</form>
</div>
Keep in mind that that the above is merely an example and the other HTML code can be quite different and the input
elements can appear anywhere with no consistent document structure (except that I am guaranteed there will always be at least two input
elements with an id attribute of "search_query"
).
What is the correct XPath expression?