Как проверить флажок, если xpath одинаковы в случае выбранного и невыбранного - PullRequest
0 голосов
/ 31 мая 2018

M не удалось проверить флажок, если он установлен или нет, потому что оба HTML одинаковы

Я пробовал isSelected (), но он не работает

Ниже приведен HTML-код для обоих выбранныхи невыбранный

1) Выбранный

<label class="c-account-access-panel__checkbox " for="23336" data-js-checkbox-label="">
<input id="23336" class="c-account-access-panel__checkbox-input" type="checkbox" 
data-label-for-value-missing="Please select at least one account from the options below" data-form-field-validation-on-grid="" 
required="" checked="" data-js-checkbox="" value="DE29973399" name="payer"/>
<div class="c-account-access-panel__checkbox-symbol"/>

2) Не выбрано

<label class="c-account-access-panel__checkbox " for="23336" data-js-checkbox-label="">
<input id="23336" class="c-account-access-panel__checkbox-input" type="checkbox" 
data-label-for-value-missing="Please select at least one account from the options below" data-form-field-validation-on-grid="" 
required="" checked="" data-js-checkbox="" value="DE29973399" name="payer"/>
<div class="c-account-access-panel__checkbox-symbol"/>

Заранее спасибо!

Ответы [ 4 ]

0 голосов
/ 16 июня 2018

Используйте выражение xpath, например: (// div [@ id = '23336') [1] или (// div [@ id = '23336') [2], чтобы превратить их в уникальный элемент, затем выполните .isselected ()

0 голосов
/ 31 мая 2018

Вы можете проверить, используя getAttribute метод.

Сначала выберите webElement, используя любой из уникальных локаторов,

 WebElement checkbox=driver.findElement(By.xpath(".//input[@type='checkbox']"));

Если флажок установлен, то checkbox.getAttribute("checked") выдаст результат как true, в противном случае он выдастрезультат как null.Таким образом, вы можете добавить условие, используя checkbox.getAttribute("checked")

0 голосов
/ 31 мая 2018

Согласно методу Java Docs isSelected() определяет, выбран элемент или нет.Эта операция применяется только к <input> элементам, таким как флажки , опции в теге <select> и переключателям .

Чтобы проверить, установлен ли нужный флажокили нет, вы можете использовать следующий блок кода:

boolean checkboxSelected = driver.findElement(By.xpath("//input[@class='c-account-access-panel__checkbox-input' and @name='payer']")).isSelected();
0 голосов
/ 31 мая 2018

Если isSelected () не работает для вас.Затем вы можете использовать JavascriptExecutor для выполнения вашей задачи.Следующие операторы JS должны сообщать вам о состоянии целевого флажка.

document.getElementById("23336").click();
document.getElementById("23336").checked;

Проверенный метод возвращает true или false в зависимости от состояния флажка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...