Проблема заключается в получении содержимого выпадающего списка (нужно получить список строк с текстом). В списке 160 значений, на странице отображается 16, остальные подгружаются по скролу или стрелке вниз.
Проблема заключается ещё и в том, что у каждой строки в списке одинаковый аттрибут div class. Div id для разных строк отличается индексом. Но буквенная часть аттбрибута меняется с каждой загрузкой страницы. Поэтому xpath для этих строк для меня сложная задачка.
Я попыталась получить текст хотя бы первой строки из списка и у меня это получилось.
Я не могу придумать, как получить текст из подгружаемых строк без тупого скроллинга ))
Ага, пришли сразу и просто динамически подгружаются по примерно 20 единиц, так по поводу x-path можно использовать вот такой $("[id^=flf9f0dr9]") - он будет брать все локаторы по id начинающиеся с этой подстроки
А без скроллинга пожалуй что и никак не получится.
А если обновить страницу, то буквенная часть id поменяется, поэтому так не найти.
Думаю, можно попробавать сделать через цикл нажатия кнопки ARROW_DOWN и xpath вида:
/html/body/div[2]/div[5]/div[1]/div[1]/div[3]/form/div/div[1]/div[1]/div/div[2]/div/div[16]/div
и из каждого элемента брать текст. Но мне кажется, что это не самое изящное решение))
Хм, действительно, просмотрел.
Так, можно взять нужный нам дропдаун через data-ftid="sales__filter_fid" ,это видимо тестовые id на этом сайте, и от него, как от родительского элемента забрать дочерние нужные нам элементы, ну а дальше да, цикл сбор элементов, сбор текста.
Почему бы не написать цикл, который будет передавать в id значение, где цифровая часть будет каждый раз увеличиваться на единицу? Полученное значение передаете в локатор, и берете у каждого элемента “outerText”. Далее list.append(element) и получайте ваш список.