2016-11-11 68 views
1

我們有一個建立在bootstrap-datepicker上的日曆。我試圖選擇一個特定的日子,例如sysdate或sydate-2或sysdate-3。我遇到的一種方法是使用findElements並通過List循環,直到元素之一匹配當前日期與equalsIgnoreCase從日曆中挑選一天 - datepicker - 從量角器基於今天的日期

但我想在JS中實現這一點,以便在我的量角器測試用例中使用。

下面是表的結構:

<tbody> 
    <tr> 
     <td class="day old disabled">30</td> 
     <td class="day old disabled">31</td> 
     <td class="day disabled">1</td> 
     <td class="day disabled">2</td> 
     <td class="day disabled">3</td> 
     <td class="day disabled">4</td> 
     <td class="day disabled">5</td> 
    </tr> 
    <tr> 
     <td class="day disabled">6</td> 
     <td class="day disabled">7</td> 
     <td class="day">8</td> 
     <td class="day">9</td> 
     <td class="day">10</td> 
     <td class="day active today">11</td> 
     <td class="day disabled">12</td> 
    </tr> 
    <tr> 
     <td class="day disabled">13</td> 
     <td class="day disabled">14</td> 
     <td class="day disabled">15</td> 
     <td class="day disabled">16</td> 
     <td class="day disabled">17</td> 
     <td class="day disabled">18</td> 
     <td class="day disabled">19</td> 
    </tr> 
    <tr> 
     <td class="day disabled">20</td> 
     <td class="day disabled">21</td> 
     <td class="day disabled">22</td> 
     <td class="day disabled">23</td> 
     <td class="day disabled">24</td> 
     <td class="day disabled">25</td> 
     <td class="day disabled">26</td> 
    </tr> 
    <tr> 
     <td class="day disabled">27</td> 
     <td class="day disabled">28</td> 
     <td class="day disabled">29</td> 
     <td class="day disabled">30</td> 
     <td class="day new disabled">1</td> 
     <td class="day new disabled">2</td> 
     <td class="day new disabled">3</td> 
    </tr> 
    <tr> 
     <td class="day new disabled">4</td> 
     <td class="day new disabled">5</td> 
     <td class="day new disabled">6</td> 
     <td class="day new disabled">7</td> 
     <td class="day new disabled">8</td> 
     <td class="day new disabled">9</td> 
     <td class="day new disabled">10</td> 
    </tr> 
</tbody> 
+1

而不是循環所有'td'元素,你可以簡單地創建一個通用的xpath或使用'by.cssContainingText()'來實現這一點。 –

+0

謝謝,@SudharsanSelvaraj!使用'cssContainingText'。 '元素(by.cssContainingText('。day',yesterdayDay))。click();' –

+0

很高興工作:) –

回答

0

我喜歡的方式是在做量角器,進入輸入的日期格,而不是點擊了很多東西,使手動輸入日期,事情很複雜。

假設您輸入的div是直接進入禁用(即,它有一個殘疾的屬性),你可以通過使用普通的JavaScript,像下面移除已停用的屬性:

browser.executeScript('document.getElementsByName("dob0")[0].removeAttribute("disabled")'); 
var date1 = 11 + '/' + 23 + '/' + 1994; 
dob.sendKeys(date1); 
browser.executeScript('document.getElementsByName("dob0")[0].setAttribute("disabled","disabled");'); 

如果你想進入今天的日期,我建議你使用date object provided by javascript

+0

手動輸入日期已被禁用。但正如@Sudharsan提到的,將與cssContainingTex()一起工作。 –

相關問題