Я хочу нажать переключатель в моих тестах автоматизации.Даже если на странице видны переключатели, невыбранные имеют свойство displayed:false
.Selenide почему-то не может щелкнуть, если html-объект имеет свойство displayed:false
.Ошибка: Element should be visible {By.id: radio_btn_id}
Вот мой переключатель:
<input class="radio_class" id="radio_btn_id" name="radio_btn_name" type="radio" value="12" displayed:false></input>
То, что я пытался удалить свойство, и ни один из них не работает
SelenideElement element = $(By.id(id));
Selenide.executeJavaScript("document.getElementById('radio_btn_id').removeAttribute('displayed:false')", element);
Selenide.executeJavaScript("document.getElementById('radio_btn_id').removeAttribute(\"displayed:false\")", element);
Selenide.executeJavaScript("jQuery('select:not(:visible)').css('display','block')", element);
Я пытался удалить selected:true
свойство, и это сработало.Я не знаю, почему это не работает для displayed:false
.У кого-нибудь из вас есть идея?
[РЕДАКТИРОВАТЬ] Принимается ответ Selenium
версия.В Selenide
это более чисто и просто:
SelenideElement element = $(By.id(id));
Selenide.executeJavaScript("document.getElementById('"+ id+ "').click();", element);
[РЕШЕНИЕ]
Поведение Selenide для флажков и переключателей