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 пиксилей