Как прокрутить страницу до конца с помощью selenium в python
Я пытаюсь прокрутить до конца страницы, чтобы сделать все данные видимыми и извлечь их. Я попытался найти для него команду, но она доступна в java (драйвер.executeScript), но не смог найти для python. Прямо сейчас я заставляю компьютер нажать клавишу end тысячу раз:
while i<1000:
scroll = driver.find_element_by_tag_name('body').send_keys(Keys.END)
i+=1
и я также попробовал драйвер.execute_script ("window.scrollTo (0, document.тело.scrollHeight);") но он прокручивается до конца загруженной страницы, и то же самое делает END key. Раз в в нижней части страницы загружается следующий контент. Но теперь он не прокручивается снова.
Я знаю, что для этого будет очень хорошая альтернатива. Пожалуйста, помогите.
2 ответов
Ну, я наконец нашел решение:
lenOfPage = driver.execute_script("window.scrollTo(0, document.body.scrollHeight);var lenOfPage=document.body.scrollHeight;return lenOfPage;")
match=False
while(match==False):
lastCount = lenOfPage
time.sleep(3)
lenOfPage = driver.execute_script("window.scrollTo(0, document.body.scrollHeight);var lenOfPage=document.body.scrollHeight;return lenOfPage;")
if lastCount==lenOfPage:
match=True
Это можно сделать в одной строке, прокрутив до document.body.scrollHeight
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")