Tôi đang cố gắng chọn một mục từ menu thả xuống bằng Capybara (2.1.0).
Tôi muốn chọn theo số (có nghĩa là chọn tùy chọn thứ hai, thứ ba, v.v.).
Tôi đã googled như điên thử mọi thứ nhưng không có may mắn.
Tôi đã có thể chọn nó bằng cách sử dụng giá trị:
find("option[value='4c430d62-f1ba-474f-8e8a-4452c55ea0a8']").click
Nhưng tôi không muốn sử dụng phương pháp đó vì giá trị là thứ sẽ thay đổi và điều đó sẽ khiến bài kiểm tra của tôi trở nên dễ vỡ.
HTML cho trình đơn thả xuống là:
<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>
Tôi cũng đã thử điều này:
option = find(:xpath, "//*[@id='organizationSelect']/option[2]").text
select(option, :from => organizationSelect)
Nhưng nó dẫn đến lỗi này:
Ambiguous match, found 2 elements matching option "Institution" (Capybara::Ambiguous)
Vậy làm thế nào tôi có thể chọn tùy chọn thứ nhất, thứ hai, thứ ba, v.v. từ trình đơn thả xuống (sử dụng Capybara)?