У меня есть скрытые кнопки на странице. Когда я нажимаю на ввод текста, одна из этих кнопок отображается на странице. До:GEB найти первый видимый элемент
<div field='login'>
<input type="text">
<button class="submit" style="display: none">Save</button>
</div>
<div field='name'>
<input type="text">
<button class="submit" style="display: none">Save</button>
</div>
После нажатия на второй вход:
<div field='login'>
<input type="text">
<button class="submit" style="display: none">Save</button>
</div>
<div field='name'>
<input type="text">
<button class="submit">Save</button>
</div>
Так я пытаюсь взаимодействовать с второй кнопкой на следующих селекторов в моем тесте:
static content = {
submitButton { $("button.submit") }
}
, но у меня есть следующая ошибка:
isorg.openqa.selenium.ElementNotVisibleException: Element is not currently visible and so may not be interacted with
Если я wri te:
static content = {
submitButton { $("button.submit", 1) }
}
это работает, но мне нужно работать с одной первой видимой кнопкой на странице. Что не так?
Я знаю, что это старое, но хотели бы добавить, что это даст вам набор Navigator, содержащий все кнопки отправки, а не только первый (что и задает вопрос). если вы хотите только первое вхождение, вы должны сказать submitButton.first(), или вы можете использовать закрытие 'find()' вместо 'findAll()' – switch201