Istnieje plik HTML (którego zawartość nie kontroluję), który zawiera kilka inputelementów z tym samym ustalonym idatrybutem "search_query". Zawartość pliku może się zmienić, ale wiem, że zawsze chcę uzyskać drugi inputelement z atrybutem id "search_query".
Aby to zrobić, potrzebuję wyrażenia XPath. Próbowałem, //input[@id="search_query"][2]ale to nie działa. Oto przykładowy ciąg XML, w którym to zapytanie nie powiodło się:
<div>
<form>
<input id="search_query" />
</form>
</div>
<div>
<form>
<input id="search_query" />
</form>
</div>
<div>
<form>
<input id="search_query" />
</form>
</div>
Należy pamiętać, że powyższy kod jest jedynie przykładem, a inny kod HTML może być całkiem inny, a inputelementy mogą pojawić się w dowolnym miejscu bez spójnej struktury dokumentu (poza tym, że mam gwarancję, że zawsze będą co najmniej dwa inputelementy z atrybutem id o wartości "search_query").
Jakie jest prawidłowe wyrażenie XPath?