Подскажите как сделать перечисление элементов и найти указанный номер ? Делаю с помощью selenide.
ElementsCollection resultElements = $$(By.className("result-table"));
Сюда я поместил всю таблицу. В таблице содержатся номера ЕИС, их надо выбрать. ЕИС(31908403282), вот HTML:
<div class="column-main__header-item">
<h6>
Номер ЕИС
</h6>
<p>
<a href="regNumber=31908403282" class="purchase-card"
target="_blank">31908403282
</a>
</p>
</div>
<div class="column-main__header-item">
<h6>Номер на площадке</h6>
<p>4421/ЗКТЭ-РЖДС/19</p>
</div>
Если поиск уточнить через findElement и искать по тегу:
ElementsCollection resultElements = $$(By.className("column-main__header-item")).findElement(tagName("a")).getText();
то пишет ошибку:
"cannot find symbol symbol: method findElement(org.openqa.selenium.By) location: class com.codeborne.selenide.ElementsCollection"
В первую очередь я хочу порекомендовать вам воспользоваться любой средой разработки, которая проверяет синтаксис вашего кода, например IntelliJ Idea.
Конкретно про возникающую у вас ошибку, метод $$ возвращает объект с типом ElementsCollection, а у него метода findElement, который вы пытаетесь вызвать, просто напросто не существует. Зато нужный вам метод есть у класса SelenideElement, хоть и называется он по другому просто find
В качестве решения могу предложить перебрать все имеющиеся элементы в коллекции и уже у них "искать по тегу"
for (SelenideElement element : resultElements) {
element.find(/*Локатор для искомого внутреннего элемента*/).getText()
}
Ссылка на документацию Selenide, рекомендую подробно ознакомиться.
Проблему решил с помощью функции:
ElementsCollection headerItem = $$(".result-table .column-main__header-item > p > a"); for (SelenideElement number : headerItem) { System.out.println(number.getText()); }
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Задача вывести одинаковые элементы в двух массивах, без сортировки данных массивов, без повторений чисел и использования строк, массивов...
Кто может написать код который убирает из предложения гласные к примеру у нас есть предложение hi my name is Nick а нужно получить h m nm s Nck
Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском