ฉันกำลังพยายามเลือกรายการจากเมนูแบบเลื่อนลงโดยใช้ Capybara (2.1.0)
ฉันต้องการเลือกตามหมายเลข (หมายถึงเลือกตัวเลือกที่สองสาม ฯลฯ )
ฉัน Googled อย่างบ้าคลั่งที่พยายามทำทุกอย่าง แต่ไม่มีโชค
ฉันสามารถเลือกได้โดยใช้ค่า:
find("option[value='4c430d62-f1ba-474f-8e8a-4452c55ea0a8']").click
แต่ฉันไม่ต้องการใช้วิธีนั้น b / c ค่าคือสิ่งที่จะเปลี่ยนแปลงและนั่นจะทำให้การทดสอบของฉันเปราะบาง
HTML สำหรับเมนูแบบเลื่อนลงคือ:
<td class="value">
<select name="organizationSelect" id="organizationSelect" class="required">
<option value="NULL">Choose...</option>
<option value="4c430d62-f1ba-474f-8e8a-4452c55ea0a8"> Institution1</option>
<option value="e1a4efa7-352d-410a-957e-35c8a3b92944"> Institution / test</option>
</select>
</td>
ฉันลองสิ่งนี้ด้วย:
option = find(:xpath, "//*[@id='organizationSelect']/option[2]").text
select(option, :from => organizationSelect)
แต่ส่งผลให้เกิดข้อผิดพลาดนี้:
Ambiguous match, found 2 elements matching option "Institution" (Capybara::Ambiguous)
ดังนั้นฉันจะเลือกตัวเลือกแรกสองสาม ฯลฯ จากเมนูแบบเลื่อนลง (โดยใช้ Capybara) ได้อย่างไร