Это функция, которую я использую для получения списка имен пользователей из поля прокрутки. Я назначаю следующую функцию переменной и получаю взамен список, который я могу использовать позже в своем коде.
def get_people():
sleep(2)
scroll_box = browser.find_element_by_xpath("/html/body/div[5]/div/div/div[2]/div")
prev_height, height = 0, 1
while prev_height != height:
links = scroll_box.find_elements_by_tag_name('a')
prev_height = height
sleep(0.9)
height = browser.execute_script("""
arguments[0].scrollTo(0, arguments[0].scrollHeight);
return arguments[0].scrollHeight;
""", scroll_box)
names = [name.text for name in links if name.text != '']
close = browser.find_element_by_xpath("/html/body/div[5]/div/div/div[1]/div/div[2]/button")
close.click()
return names
Эта функция обычно хорошо работает с полосой прокрутки следующего и ведомого. Иногда числа не совсем совпадают, но это хорошо в 90% случаев.
Но в полосе прокрутки лайков (когда вы нажимаете другие в сообщении) и список лайков он возвращает только последние 11 имен пользователей в полосе прокрутки. Независимо от количества подобных, он всегда возвращает только 11. Вы знаете, в чем проблема?