Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 02.08.2022
Сообщений: 7

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

05.10.2022, 14:54. Показов 1112. Ответов 5

Студворк — интернет-сервис помощи студентам
Нужно проверить, сколько элементов с одним классом на странице, с использованием POM.
Подскажите, что делаю не так?

Python
1
2
3
4
5
6
7
def test_quantity_pizza(self, browser):
        quantity = LenghtPizza(browser)
        quantity.go_to_site()
        quantity.click_on_region_button()
        quantity.look_for_element()
 
        assert quantity.look_for_element() == 34
Python
1
2
3
4
5
6
class LenghtPizza(BasePage):
    def click_on_region_button(self):
        self.driverwait(ChromeLocators.LOCATOR_CHOISE_MOSCOW).click()
    def look_for_element(self):
        driver = self.driver
        self.LOCATOR_lENGTH_PIZZA = len(driver.find_elements_by_class_name("sc-1tpn8pe-3 duQqqx"))
Разные варианты пробовала. Даже пробовать писать len в самом тесте, все равно не работает.

Добавлено через 3 минуты
Python
1
2
3
4
5
6
7
    def test_quantity_pizza_moscow_page(self, browser):
        quantity = LenghtPizza(browser)
        quantity.go_to_site()
        quantity.click_on_region_button()
        quantity.look_for_element()
 
        assert len(quantity.look_for_element()) == 34
Python
1
2
3
4
5
class LenghtPizza(BasePage):
    def click_on_region_button(self):
        self.driverwait(ChromeLocators.LOCATOR_CHOISE_MOSCOW).click()
    def look_for_element(self):
        self.driverwait(ChromeLocators.LOCATOR_lENGTH_PIZZA)
Вот еще вариант, результат тот же
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.10.2022, 14:54
Ответы с готовыми решениями:

Как в selenium проверить есть ли элемент на странице или нет?
Можете подсказать как в selenium проверить есть ли элемент на странице или нет? пробовал через null и через Disabled - все равно вылетает...

Как проверить прогрузку SVG элемента на странице с Selenium+JUnit
На данный момент делаю screenshot-based тест SVG элементов. На одной странице их много, поэтому они прогружаются не одновременно. Была...

Проверить наличие элемента на странице - Selenium.WebDriver
Доброго времени суток! Имеется кнопка, которую необходимо нажать при определенных условиях. Она находится в блоке, который в...

5
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
05.10.2022, 16:07
Алина969, а питон поучить перед написанием тестов?
Цитата Сообщение от Алина969 Посмотреть сообщение
def look_for_element(self):
        driver = self.driver
        self.LOCATOR_lENGTH_PIZZA = len(driver.find_elements_by_class_name(" sc-1tpn8pe-3 duQqqx"))
что по твоему вернет эта функция?
правильно None

Цитата Сообщение от Алина969 Посмотреть сообщение
assert len(quantity.look_for_element()) == 34
внимание вопрос -а может ли Нан быть равен 34? и как узнать len у Нан?


вообще все написано не так, но как временное решение можно сделать return self.LOCATOR_lENGTH_PIZZA
0
0 / 0 / 0
Регистрация: 02.08.2022
Сообщений: 7
05.10.2022, 16:28  [ТС]
Пробовала такой вариант:
def look_for_element(self):
driver = self.driver
self.LOCATOR_lENGTH_PIZZA = len(driver.find_elements_by_class_name(" sc-1tpn8pe-3 duQqqx"))
return self.LOCATOR_lENGTH_PIZZA
Результат тот же. не рабоатет

Добавлено через 3 минуты
В целом не понимаю, как применить len с PO. Везде выдает None. А не кол-во
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
05.10.2022, 17:12
Цитата Сообщение от Алина969 Посмотреть сообщение
не рабоатет
забудь такое слово для тестирования, что конкретно не так? какие ошибки?

ассерт не забыла поменять? ведь у тебя теперь длина уже в self.LOCATOR_lENGTH_PIZZA
то есть ассерт=
assert quantity.look_for_element() == 34
0
0 / 0 / 0
Регистрация: 02.08.2022
Сообщений: 7
06.10.2022, 00:06  [ТС]
Welemir1,
Python
1
2
3
4
5
6
def test_quantity_pizza_moscow_page(self, browser):
        quantity = LenghtPizza(browser)
        quantity.go_to_site()
        quantity.click_on_region_button()
        test = len(browser.find_elements(By.CLASS_NAME, "sc-1tpn8pe-0 jDJosZ"))  # колво элементов
        assert test == 34
Смотри, вроде получилось таким способом, только теперь вместо none он пишет 0 ))
Есть подозрение, что он не видит, из-за того, что нужно скролить страницу, но если скролить обычным методом, тоже не получается потому, что он не успевает прогрузить элементы.. Может я не права вообще... Ты как думаешь, что не так?)
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
06.10.2022, 07:25
Цитата Сообщение от Алина969 Посмотреть сообщение
вместо none он пишет 0
кто он? как он это пишет? я же выше писал что нужна конкретика, тексты ошибок. Я как могу что-то предположить если не вижу страницы, кода и ошибок?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.10.2022, 07:25
Помогаю со студенческими работами здесь

Поиск элементов на странице. Selenium
Всем привет, у меня вопрос по поиску элемента на странице. Делаю что-то вроде скрипта, наверное, для покупки вещей на сайте, когда дохожу...

Поиск элементов на странице, Python selenium
Здравствуйте. Пишу скрипты для автоматизации действий пользователя и в большинстве функций ищу элементы по средством xpath. Знаю, что...

[Selenium] Как найти элемент на странице с задержкой без ошибки?
Как найти элемент на странице с задержкой? И если вдруг данного элемента нету, то фунцкия продолжала работать, а не обсиралась... ...

Дан массив. Проверить, у всех ли элементов массива, сумма цифр меньше 5. Найти кол-во нечетных элементов
Дан одномерный массив натуральных чисел. Проверить, у всех ли элементов массива, сумма цифр меньше 5. Найти количество нечетных элементов....

Как узнать кол-во заполненных элементов в массиве, чья длина больше чем кол-во?
#include <iostream> using namespace std; int main() { char N; cin >> N; system("pause"); } Вот код, нужно вывести...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru