Ada file HTML (yang isinya saya tidak kontrol) yang memiliki beberapa input
elemen semua dengan id
atribut tetap yang sama "search_query"
. Isi file dapat berubah, tetapi saya tahu bahwa saya selalu ingin mendapatkan input
elemen kedua dengan atribut id "search_query"
.
Saya perlu ekspresi XPath untuk melakukan ini. Saya mencoba //input[@id="search_query"][2]
tetapi itu tidak berhasil. Berikut adalah contoh string XML di mana kueri ini gagal:
<div>
<form>
<input id="search_query" />
</form>
</div>
<div>
<form>
<input id="search_query" />
</form>
</div>
<div>
<form>
<input id="search_query" />
</form>
</div>
Perlu diingat bahwa di atas hanyalah sebuah contoh dan kode HTML lainnya dapat sangat berbeda dan input
elemen dapat muncul di mana saja tanpa struktur dokumen yang konsisten (kecuali bahwa saya dijamin akan selalu ada setidaknya dua input
elemen dengan atribut id dari "search_query"
).
Apa ekspresi XPath yang benar?