Я пытаюсь установить флажок в таблице результатов на веб-странице, это типичный столбец выбора в этой строке. Но это не нажимает на это. Я перепробовал все возможные способы, проверяя с помощью прямой isSelected (), проверки типа и даже опции javascript executor. Не могли бы вы дать мне знать, что не так в моем коде? Также, пожалуйста, предложите с подходящим ответом.
Соответствующий html код .
<tbody id="frmResults:USTTaxTableId_data" class="ui-datatable-data ui-widget-content">
<tr data-ri="0" data-rk="123456789" class="ui-widget-content ui-datatable-even ui-datatable-selectable" role="row" aria-selected="false">
<td role="gridcell" class="ui-selection-column">
<div class="ui-chkbox ui-widget">
<div class="ui-helper-hidden-accessible">
<input type="checkbox" name="frmResults:USTTaxTableId_checkbox" aria-checked="false">
</div>
<div class="ui-chkbox-box ui-widget ui-corner-all ui-state-default">
<span class="ui-chkbox-icon ui-icon ui-icon-blank ui-c"/>
</div>
</div>
</td>
<td role="gridcell" class="ui-active-state">0003784</td>
<td role="gridcell" class="ui-active-state">09/21/2017</td>
<td role="gridcell" class="ui-active-state">09/21/2017</td>
<td role="gridcell" class="ui-active-state"/>
</tr>
</tbody>
Мой сценарий ...
WebElement row = ele.findElement(By.cssSelector("tr[data-ri=\"" + row_num + "\"]"));
String isSelected = row.getAttribute("aria-selected");
scenario.write("isSelected is : " + isSelected);
//WebElement rowCheckBox = row.findElement(By.className("ui-selection-column"));
WebElement rowCheckBox = row.findElement(By.xpath("//td[@class=\"ui-selection-column\"]"));
if (isSelected.equalsIgnoreCase("false")) {
WebElement box = rowCheckBox.findElement(By.xpath("//div/div[2]"));
JavascriptExecutor js = (JavascriptExecutor) browser;
js.executeScript("arguments[0].click();", box);
isSelected = row.getAttribute("aria-selected");
scenario.write("isSelected in inside is : " + isSelected);
}