public void click(String name) {
ElementsCollection elements = $$(withText(name));
вот тут программа просто выходит из метода, по какой причине?
for (SelenideElement e : elements) {
if (e.isDisplayed() && e.is(Condition.enabled)) {
e.click();
}
}
}
Вы определитесь с вопросами сначала.
Ответ на первый вопрос - потому что коллекция оказалась пустой.
Ответ на второй вопрос - либо коллекция пустая, либо все элементы оказываются скрытыми или не включенными.
1 лайк
- Коллекция быть пустой не может, на странице минимум 5 элементов соответствующих запросу
- Как минимум один из элементов имеет displayed:true и отсутствие дизейбла
Главный вопрос описан в топике: как и почему элементc коллекшн не находит элементы на странице
Пример элемента страницы в момент запуска метода
Ну, предположим, раз вы задаёте такой вопрос, то проблема в локаторе элементов.
1 лайк
Если коллекция пустая значит не верный локатор, сначала проверьте через Chrome Dev Tools правильный ли локатор.
Локатор пишется текстом
Сам метод выглядит так
catalog.click("Заказать")
Попробуй напистаь полный локатор к этой кнопке. Если пройдёт значит проблема с локатором.
1 лайк
Да, проблема с локатором, буду думать как обойти, спасибо