selenium - 如何在<dv>属性</dv>中按文本单击日历日期

时间:2013-11-14 22:12:26

标签: java selenium

我遇到的问题是我不想在单击17或18时指定绝对xpath - 而是希望能够通过指定文本来单击。但链接文本在html中查找<a>href属性,并且我有<td>属性,我需要帮助以通过某种方式指定文本来点击它。

以下是驻留在表格中的示例html代码:

<td class="centerText day" data-bind="click: function(){$root.dayClicked($parent.days()[$index()])}, text: $parent.days()[$index()].day, css: { currentMonth: !$parent.days()[$index()].currentMonth, currentDay: $parent.days()[$index()].currentDay, selectedDay: $parent.days()[$index()].selectedDay }">17</td>

<td class="centerText day" data-bind="click: function(){$root.dayClicked($parent.days()[$index()])}, text: $parent.days()[$index()].day, css: { currentMonth: !$parent.days()[$index()].currentMonth, currentDay: $parent.days()[$index()].currentDay, selectedDay: $parent.days()[$index()].selectedDay }">18</td>

这是我的硒代码:

            //click the calendar button
    driver.findElement(By.xpath("//*[@id='btnTradeDate']")).click();

             //go through the calendar table to navigate through each cell
     WebElement dateWidget = driver.findElement(By.id("transactionGridControls"));  
     List<WebElement> rows=dateWidget.findElements(By.tagName("tr"));  
      List<WebElement> columns=dateWidget.findElements(By.tagName("td"));  

      for (WebElement cell: rows){  
       //Select 17th Date   
       if (cell.getText().equals("17")){  
       cell.findElement(By.linkText("17")).click(); //need help on this 
       break;

0 个答案:

没有答案