2015-06-19 5 views
2

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

я использую это: _inst.driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

Знаете ли вы, где может быть проблема?

EDIT: Есть ли способ рассказать селену, что он должен прокручивать до абсолютного нижнего края страницы или что он должен прокручивать определенное количество раз? Например, 5?

ответ

1

Для перехода к нижней части страницы, вы можете отправить CTRL + END, чтобы один из его элементов:

from selenium.webdriver.common.keys import Keys 
element = driver.find_element_by_ ... 
element.send_keys(Keys.CONTROL , Keys.END) 

Чтобы найти элемент, есть много вариантов (см here)

См here для получения дополнительной информации

и эти SO вопросы/ответы:

first

second

+0

Спасибо за ваш ответ, кажется, хорошо, но я не могу найти oou что ставить здесь: элемент = driver.find_element_by _... Не мог бы вы дать мне подсказку? Спасибо –

+0

Я добавил ссылку, см. Мое редактирование – Pynchia

0

2 простых способов:

жёстко так проходит весь путь вниз наверняка:

_inst.driver.execute_script("window.scrollTo(0, 10000);") 

или найти расположение элемента в нижней части страницы и прокрутки к его местонахождению:

element = find_element('footer') 
position = element.location[:y] 
_inst.driver.execute_script("window.scrollTo(0, position);") 
0

Я пробовал это, и это сработало для меня ,

driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") 
Смежные вопросы