Python3.x + Selenium как листать

Мне нужно пролистать страницу и нажать на элемент не могу понять как листать страницу с помощью selenium подскажите пожалуйста!


Ответы (2 шт):

Автор решения: Jack_oS

Если нужно прокрутить к целевому элементу, можно воспользоваться методом .move_to_element() из ActionChains, пример:

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains

driver = webdriver.Chrome()
driver.get('http://www.w3schools.com/')
target = driver.find_element_by_link_text('BROWSE TEMPLATES')
actions = ActionChains(driver)
actions.move_to_element(target)
actions.perform()

Для прокрутки в конец (начало) страницы через .send_keys():

from selenium import webdriver
from selenium.webdriver.common.keys import Keys 

driver = webdriver.Chrome()
driver.get('http://www.w3schools.com/')
driver.find_element_by_tag_name('body').send_keys(Keys.END)
# send_keys(Keys.HOME), если в начало
# так тоже сработает:
# send_keys(Keys.DOWN) send_keys(Keys.PAGE_DOWN)
# send_keys(Keys.UP) send_keys(Keys.PAGE_UP)

Для прокрутки на заданное количество пикселей метод окна .scrollBy():

scroll_vаlue = -200
scroll_by = f'window.scrollBy(0, {scroll_vаlue});'
driver.execute_script(scroll_by)
→ Ссылка
Автор решения: Никита

Мне помог этот метод

driver.execute_script("window.scrollTo(0, 250);") пролистать вверх на 250 пиксилей

→ Ссылка