我遇到的问题是我不想在单击 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;