Прокрутка вниз с помощью Python Selenium на части веб-страницы - PullRequest
0 голосов
/ 05 ноября 2019

Итак, у меня есть веб-страница, где часть страницы представляет собой список пользователей. Пользователь может прокрутить этот список вниз, но прокрутка работает только в том случае, если указатель мыши находится над этим списком. Такие клавиши, как page down или end, не работают.

Я могу без проблем найти элемент, используя Selenium и Xpath, но я не знаю, как выполнить прокрутку в селене, поскольку он работает только тогда, когда фокусна этом конкретном веб-элементе.

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

driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

У кого-нибудь есть идеи?

Ответы [ 2 ]

0 голосов
/ 05 ноября 2019

Прокрутка может быть достигнута двумя различными способами.

Javascript

 elementId = driver.find_element_by_id("elementId")
 driver.execute_script("arguments[0].scrollIntoView();", elementId)

Класс действия

actions = ActionChains(driver)
actions.move_to_element(elementId).perform()
0 голосов
/ 05 ноября 2019

Поскольку вы упомянули, что можете найти элемент, вы можете попробовать прокрутить до определенного элемента, вместо использования document.body.scrollHeight в качестве цели прокрутки.

element = driver.find_element(someLocatorHere)

driver.execute_script("arguments[0].scrollIntoView(true);", element)

Надеюсь, это немного поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...