Проблема заключается в том, что при выполнении click() на элементе этот элемент становится недоступным.
Код :
SelenideElement selenideElement = $x("//button[contains(text(),‘Выбрать’)]/parent::div");
selenideElement.click();
Продебажив метод click(), выяснилось, что внутри него выполняется метод isDisplayed(), и после выполнения этого метода элемент становится недоступным. Если просто сделать на элементе isDisplayed() , он тоже станет недоступен. И главное это старый код. Раньше так не было. Что случилось, и как это исправить?
Понятия не имею, как это исправить.
Что-то поменялось в вашем приложении: почему-то вебдрайвер считает, что этот элемент невидимый. Может, он частично перекрыт другим элементом, или у него какой-то хитрый CSS стиль типа с нулевой высотой или что-то в этом роде?.. Бывает.
Но в селениде есть метод $.click(usingJavaScript()) для подобных случаев.
в итоге работает только такой способ:
executeJavaScript(“var el = document.querySelector(‘div.d-grid.gap-2 button.btn.btn-outline-primary’); el.click();”)