Прокрутка сайта с использованием phatomJS и селена

Мне нужно прокрутить веб-страницу (пример twitter), сделать веб-очистку новых элементов, которые появляются, когда вы продвигаетесь на веб-сайте. Я пытаюсь сделать это с помощью python 3.x, selenium и PhantomJS. Это мой код

import time
from selenium import webdriver
from bs4 import BeautifulSoup

user = 'ciroylospersas'
# Start web browser
#browser = webdriver.Firefox()
browser = webdriver.PhantomJS()
browser.set_window_size(1024, 768)
browser.get("https://twitter.com/")

# Fill username in login
element = browser.find_element_by_id("signin-email")
element.clear()
element.send_keys('your twitter user')
# Fill password in login
element = browser.find_element_by_id("signin-password")
element.clear()
element.send_keys('your twitter pass')

browser.save_screenshot('screen.png') # save a screenshot to disk

# Summit the login
element.submit()
time.sleep(5

browser.save_screenshot('screen1.png') # save a screenshot to disk
# Move to the following url
browser.get("https://twitter.com/" + user + "/following")
browser.save_screenshot('screen2.png') # save a screenshot to disk

scroll_script = "var h = document.body.scrollHeight; window.scrollTo(0, h); return h;"
newHeight = browser.execute_script(scroll_script)
print(newHeight)
browser.save_screenshot('screen3.png') # save a screenshot to disk

Проблема в том, что я не могу прокручивать нижнюю часть. screen2.png и screen3.png совпадают. Но если я изменил webdriver от PhantomJS до Firefox, тот же код отлично работает. Зачем?

Ответ 1

Я смог заставить это работать в phantomJS при попытке решить подобную проблему:

check_height = driver.execute_script("return document.body.scrollHeight;")
while True:
    browser.execute_script("window.scrollTo(0, document.body.scrollHeight);")
    time.sleep(5)
    height = driver.execute_script("return document.body.scrollHeight;")
    if height == check_height:
        break
    check_height = height

Он будет прокручиваться до текущей "нижней", ждать, видеть, загружена ли страница больше, и залог, если она не была (если все было загружено, если высота соответствует.)

В моем исходном коде у меня было значение "max", которое я проверил рядом с соответствующими высотами, потому что меня интересовали только первые 10 или около того "страниц". Если бы было больше, я бы хотел, чтобы он остановил загрузку и пропустил их.

Кроме того, это ответ, который я использовал в качестве