至少,您可以使用:index
定位器來選擇第二個日期選擇器。定位器指定要使用哪個匹配元素。例如,index: 0
選擇第一個匹配項(並且是默認值)。 index: 1
選擇第二匹配等
挑第二日期選擇器將是:
browser.img(:class => "ui-datepicker-trigger", :index => 1).click
的:index
定位器的缺點是,當添加其它相似的元件,他們將意外地破裂。例如,在指令日期之前添加另一個日期選擇器將導致上述代碼更新錯誤的日期選擇器。更好的方法是查找特定於交貨截止日期的日期選擇器。
例如,HTML可能是這樣的:
<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>
在該標記,以尋找第二日期選取器的替代,是尋找日期選擇器在同一li
作爲遞送到期日領域。採取這種方法可能會對未來的變化更有力:
browser.text_field(id: 'delivery_due_date').parent.img(class: 'ui-datepicker-trigger').click
感謝您的幫助@Justin Ko !!! –