2016-08-10 40 views
-1

的2日期選擇器圖像:在的Watir-的webdriver我需要自動化代碼爲日期選擇

image

我有2個日期選擇如屏幕截圖所示我需要的Watir-的webdriver實現自動化。

他們有相同的類,所以我無法選擇2 datepicker。

我所編寫的代碼是:

("browser.img(:class => "ui-datepicker-trigger").click") 

通過這個我可以點擊1個日期選取器,但我怎麼能選擇2日期選擇器?

回答

1

至少,您可以使用: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 
+0

感謝您的幫助@Justin Ko !!! –

相關問題