少なくとも、:index
ロケータを使用して2番目の日付ピッカーを選択できます。 :index
ロケータは、一致する要素のどのオカレンスを使用するかを指定します。たとえば、index: 0
が最初の一致を選択します(デフォルトです)。 index: 1
がピッカーであろう第二の日付を選択する等
、第二の一致を選択する:
browser.img(:class => "ui-datepicker-trigger", :index => 1).click
:index
ロケータの欠点は、他の同様の要素が追加されるときに予期せずに破壊することです。たとえば、指示日付の前に別の日付ピッカーを追加すると、上記のコードで間違った日付ピッカーが更新されます。より良いアプローチは、配送予定日に特有の日付ピッカーを見つけることです。第二日付ピッカーを探しているの代替は、配達期日と同じli
に日付ピッカーを探すことである。このマークアップで
<ul>
<li>
Instruction Date:
<input type="text" id="instruction_date">
<img class="ui-datepicker-trigger">
</li>
<li>
Delivery Due Date:
<input type="text" id="delivery_due_date">
<img class="ui-datepicker-trigger">
</li>
</ul>
:よう
例えば、HTMLは次のようになりますフィールド。このアプローチを採用すると、今後の変更に対してより堅牢になる可能性があります。
browser.text_field(id: 'delivery_due_date').parent.img(class: 'ui-datepicker-trigger').click
help @ Justin Ko !!!ありがとうございます。 –