HTML:
<select id="expiration_month" class="javascript-only form-control input-lg pull-left valid">
</select>
<select id="expiration_month" disabled="" style="width:118px">
<option selected="" value="01"></option>
<option value="02"></option>
...
由于某种原因,选择被禁用。
我在RSpec中尝试了以下代码:
within 'select#expiration_month'[1] do
select '01'
end
但得到了这个神秘的错误:
Failure/Error: within 'select#expiration_month'[1] do
Capybara::ElementNotFound:
Unable to find css "e"
如何选择选项?
使用Selenium(Firefox)驱动程序。
答案 0 :(得分:1)
类似的东西:
within '#the id of select' do
find("option[value='01']").click
end
答案 1 :(得分:1)
'select#expiration_month'
是String
类的实例。
String
类有#[]
方法。所以'select#expiration_month'[1]
是e
(字符串的第二个字符)。
页面上没有e
元素。所以你得到了那个错误。
可能你想这样做:
find("#expiration_month option[value='01']").click