我已经从stackoverflow中查看了许多解决方案,但无济于事。我希望有人可以帮助我理解我的方式的错误。
haml标记看起来像:
.graduation-date-range
%label Graduation Date Range
.row-fluid
.span6
.control-group
.controls
.bfh-selectbox{:id => "graduation_start_year", :style => "width: 100%"}
= f.hidden_field :graduation_start_date
%a.bfh-selectbox-toggle{"data-toggle" => "bfh-selectbox", :href => "#", :role => "button"}
%span.bfh-selectbox-option Start Year
%b.caret
.bfh-selectbox-options
%div{:role => "listbox"}
%ul.start-years{:role => "option"}
- (2012..2018).each do |y|
%li
%a{"data-option" => y, :href => "#"}= y
.help-inline
.span6
.control-group
.controls
.bfh-selectbox{:style => "width: 100%"}
= f.hidden_field :graduation_end_date
%a.bfh-selectbox-toggle{"data-toggle" => "bfh-selectbox", :href => "#", :role => "button"}
%span.bfh-selectbox-option End Year
%b.caret
.bfh-selectbox-options
%div{:role => "listbox"}
%ul.end-years{:role => "option"}
- (2012..2018).each do |y|
%li
%a{"data-option" => y, :href => "#"}= y
.help-inline
我目前正在尝试采用的解决方案:
select('2012', :from => 'graduation_start_year', :visible => false)
我收到:
水豚:: ElementNotFound:
无法找到选择框" gradu_start_year"
我的理解是标签,名称或ID可以用来选择,但我可能会弄错。
提前感谢那些回复的人。
答案 0 :(得分:0)
看来这不是一个表单选择框,而是一个html列表,它已经变成了类似于通过javascript和CSS下拉框的东西。
capybara select正在寻找<select>
和<option>
标签。这将需要用硒或恶作剧者进行js型测试来测试。