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

Не получается использовать метод get_css_count в Webdriver


(ffess) #1

Доброго времени суток, коллеги. Я в webdriver'e новичок (SeIDE баловался в исследовательских целях), к сожалению, да и в программировании тоже, поэтому за глупо-очевидные вопросы прошу не ругать. Нужно посчитать элементы (в данном случае ссылки в одном блоке) на странице и сохранить число в переменную. Изначально надеялся на метод get_css(xpath)_count, но потом обнаружил, что в библиотеках Webdriver'a для Ruby (да речь идет о нем:)) этого метода нет. Потом я так же обнаружил, что он как бы есть, но в библиотеке Selenium 1.0. Я немного поразмышлял и пришел к выводу что пользоваться двумя Селениумами "не честно". Погуглил. Нашел вариант сохранения элементов в массив методом find_elements, c возможностью их пересчета стандартным методом (для массивов) size. Теперь проблема, как я уже говорил в том что я не программировал никогда, вобщем локатор я вроде верный написал, но... взгляните вобщем, очень нужна помощь:

 

quantity_of_elements_on_the_page = @browser.find_elements(:css, ".butikList dt a").size

..............................

puts "Quantity: " + quantity_of_elements_on_the_page.to_s

 

а в результате мне "0" везде показываются:(

 


(Alexander Petrovich) #2

Ход мышления вроде верный. Дайте страницу и палцем ткните, количество которых элементов вам надо посчитать

Для python я делаю что-то в духе:

required_elements = driver.find_elements_by_xptah("some/element/locator")

required_elements_quantity = len(required_elements)

 

Для верности попробуте принтануть ваш массив получившийся


(Mykhailo Poliarush) #3

а по локатору точно достаются элементы какие-то?

и другой вопрос, попробуйте поставить задержку перед выполененим команды поиск для того, чтобы исключить момент выполнения кода когда элемента еще нет на странице


(ffess) #4

В процессе исследования проблемы пришел к выводу, что проблема с элеметнтами или с локатором (хотя в хроме в консоли этот локатор выводит список элементов, мне нужных), потому что используя эту же логику посчитал ячейки таблицы, и все получилось с первого раза, а тут ерунда какая-то...


(ffess) #5

Проблема оказалась в ожиданиях:( Спасибо большое всем, Мише - отдельное;)

все оказалось банально...


(Mykhailo Poliarush) #6

рад что помощь пригодилась,

автоматизируй на здоровье :)