при выполнении click() на элементе делает элемент недоступным

Проблема заключается в том, что при выполнении click() на элементе этот элемент становится недоступным.

Код :
SelenideElement selenideElement = $x("//button[contains(text(),‘Выбрать’)]/parent::div");
selenideElement.click();

Продебажив метод click(), выяснилось, что внутри него выполняется метод isDisplayed(), и после выполнения этого метода элемент становится недоступным. Если просто сделать на элементе isDisplayed() , он тоже станет недоступен. И главное это старый код. Раньше так не было. Что случилось, и как это исправить?

1 лайк

Понятия не имею, как это исправить. :slight_smile:
Что-то поменялось в вашем приложении: почему-то вебдрайвер считает, что этот элемент невидимый. Может, он частично перекрыт другим элементом, или у него какой-то хитрый CSS стиль типа с нулевой высотой или что-то в этом роде?.. Бывает.

Но в селениде есть метод $.click(usingJavaScript()) для подобных случаев.

в итоге работает только такой способ:
executeJavaScript(“var el = document.querySelector(‘div.d-grid.gap-2 button.btn.btn-outline-primary’); el.click();”)