Как прокрутить страницу до конца с помощью 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);")