มีไฟล์ 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 ที่ถูกต้องคืออะไร?