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

Проверить, что элементов на странице 10(python)

python
webdriver
Теги: #<Tag:0x00007f7b60a3c658> #<Tag:0x00007f7b60a3c450>

(Олег Стасів) #1

Помогите пожалуйста проверить что количество элементов (каких именно я обозначил на картинке) на странице 10. Ссылка http://market.yandex.ua/guru.xml?CMD=-RR=9,0,0,0-PF=1801946~EQ~sel~1871447-PF=1801946~EQ~sel~1871151-PF=1801946~EQ~sel~1871499-PF=1801946~EQ~sel~11756910-PF=1801946~EQ~sel~1871375-PF=2142557926~LT~sel~3-PF=2140131887~LT~sel~1777.780273-VIS=70-CAT_ID=160043-EXC=1-PG=10&hid=91491


Текст части кода здесь https://drive.google.com/file/d/0B34HI4LV_XNkNkI5T1F4cUlwaEk/edit?usp=sharing


(Александр Таранков) #2

А вопрос-то в чём? Или нужно готовое решение?


(Максим Малунов) #3

driver.findElements(By.id(“element id”)).size() Java
Ищите аналог python http://selenium-python.readthedocs.org/en/latest/locating-elements.html

Или там регулярка нужна для поиска нужных элементов ?


(Олег Стасів) #4

Если не трудно, написать готовое решение. Если элементов десять, тогда тест пройден. Если не десять, тогда сообщение, например: “Тест не пройденный”.


(Олег Стасів) #5

мне нужно проверить, что на странице отображается только десять телефонов, если их 10, то тест пройденный.


(Олег Стасів) #6

Пример на Java
driver.findElements(By.cssSelector(‘table.results form div[id]’)).size()

что-то в этом роде нужно реализовать на Python и сделать проверку.


(Максим Малунов) #7

я с python дела практически не имел .
//div[3]/p[contains(text(),‘GSM’)] xpath для проверяем что содержит хотя бы GMS
self.driver.find_elements_by_id(" //div[3]/p[contains(text(),‘GSM’)] “)
получаем list
у листа емнип функцией len получить длину .
если длинна 10 ок .
что-то такое
if(len( self.driver.find_elements_by_id(” //div[3]/p[contains(text(),‘GSM’)] ") ==10){
}
else
Но это псевдоязык я синтаксис python не знаю.


(Олег Стасів) #8

решение задачи
self.assertEqual(len(self.driver.find_elements_by_class_name(‘b-offers__info’)), 10)

Спасибо всем за помощь !


(Станислав Мара) #9

Самое актуальное решение для Python
find_elem = len(driver.find_elements_by_css_selector(’.news_id’))