選択メニューのひとつの項目、option 要素を表現するクラスです。こんな状態です↓
<form name="select_test">
<select name="select4" size="1">
<option value="0" selected>ぽつーん</option>
</select>
</form>
ひとつの <option> に対し、ひとつの Option オブジェクトが対応します。
通常の選択メニューの場合は
Mechanize::Form::SelectList#options に、複数選択可能なメニューだった場合は
Mechanize::Form::MultiSelectList#options に、HTML にある項目の数だけ格納されています。
Mechanize::Form::SelectList#option_with で選択されます(MultiSelectList にはoption_with がありません)。
<form name="register_form">
<select name="area" size="47">
<option value="hokk">北海道</option>
<option value="aomo">青森県</option>
<option value="akit">秋田県</option>
…
</select>
</form>
という選択メニューだった場合、北海道を選択するにはたとえば
#value を用いて
agent.page.form_woth(:name => 'register_form'){|f|
f.field_with(:name => 'area').option_with(:value => 'hokk').select
}
としたり、または
#text メソッドを使って
agent.page.form_woth(:name => 'register_form'){|f|
f.field_with(:name => 'area').option_with(:text => '北海道').select
}
としたりします。
自分を選択状態にするには
#select メソッドを使用します。
項目がひとつしか選択できない普通のメニューでは、最新の選択だけが有効になります。つまり、
Mechanize::Form::SelectList に所属している Option オブジェクトだった場合、select するたびにメニュー内の全 Option の選択は解除され、常に最新のひとつが選択状態として扱われます。
複数選択可能な
Mechanize::Form::MultiSelectList だった場合は select したものが全て保存されます。自分を非選択状態にするには
#unselect メソッドを使ってください。