Проверка элиментов на каждой странице............

Привет всем,
У меня 100 элементов на каждой странице. Есть нумерация страниц. Как я могу пройтись по каждой странице и проверить что у меня есть 100 элементов на каждой странице. Я просто думаю как написать какой-нибудь цикл чтобы это делал.

try {
do {
List < Webelements > list = driver.findElements(“locator”);
assertTrue(list.size(), 100);
driver.findElement(“nextPageButton”).click();
} while (driver.findElement(“nextPageButton”).isEnabled(); )

} catch (NoSuchElementException e) {
syso(“no more pages”);
}
}

може якось так. немає ідешки під рукою, щоб спробувати, але ідея така.

У тебя есть может на python?

та яке, я тільки джаву почав вчитию сорі))

Извени Украинский не понимаю…

только джаву начал учить, пайтона вообще н езнаю

1 лайк

Ок спасибо за ответ…!

На питоне супер просто. Советую юзать не чистый selenium, a Splinter.
Ищешь элемент - тебе отдаёт list.
len(list) - вот тебе и кол-во этих элементов.

Это если конечно нету выпердонов с невидимыми элементами и всяким таким.

А по страницам - цикл. Заходишь, проверяешь, выходишь и пока все не посмотришь.

Я пытаюсь так:

        while True:
            amount_page = self.browser.find_elements_by_css_selector(".ng-scope>img")
            em = len(amount_page)
            self.assertEqual(em, 100)
            self.wait.until(EC.element_to_be_clickable(
                (By.XPATH, ".//*[@id='content']/div/div/div/div/div[1]/div[2]/ul/li[7]/a"))).click()

Проблема что на последней странице есть 87 элементов он выкидывает Exception. Пытаюсь разными способами, то цикл заходит в бесконечный цикл то Exception…:frowning:

Надо по другому организовать цикл. Условием повторения должна быть активная кнопка следующей страници. Если кнопка неактивная, цикл разрываеться.
do {

} while (expression)

1 лайк

Russian also not good…

3 лайка

Так делать очень плохо. Если страницу изменят - твой тест с высокой вероятностью упадёт. Привяжись к классу (если он уникален) любо любому другому идентификатору div, стоящего последним в дереве. И вместо li[7] тоже подбери вменяемый локатор.

1 лайк