Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Как проверить количество элементов на странице?

java
selenium
webdriver
Теги: #<Tag:0x00007f7b691acef8> #<Tag:0x00007f7b691accf0> #<Tag:0x00007f7b691acac0>

(Alex Alex) #1

Ребята. Есть страница.
https://market.yandex.ru/catalog/54726/list?hid=91491&glfilter=7893318%3A153087%2C153043%2C152863%2C15292504%2C459710&glfilter=15156912%3A15934123&onstock=1&local-offers-first=0&priceto=80000
На ней 48 элементов на странице. Как мне сделать проверку, что элементов действительно 48?
Нашел вариант проверить текст “Показывать по 48” - но это нелепый вариант. Надо как-то посчитать количество тегов наверное.


(Alex Alex) #2

Пробовал так, но выводит 0.

int count = driver.findElements(By.className("n-snippet-cell2_js_inited")).size();
System.out.println(count);

(Дмитрий Еремин) #3

Вариант на проверку:
Возможно, выводит 0, потому что список подгружается асинхронно
Т.е. селениум дождался загрузки страницы (без товаров), собрал коллекцию и посчитал. А, в это время, страница запрашивала товары.

Проряем так: перед тем как искать и считать, делаем Thread.sleep(3000L);
Если заработает, сотрите этот слип и реализуйте ожидание элементов