向下滚动硒

时间:2015-01-08 17:07:35

标签: python python-2.7 selenium selenium-webdriver

我正在使用python selenium包并且我试图将页面滚动到底部..虽然,我应用selenium的网站是动态的(动态加载),这意味着它没有'我真的滚动到了页面的底部。

在我阅读之后,我在selenium文档中找到了我能够得到的解决方案:

for i in range(25):
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight)")
    time.sleep(0.5)

这对我来说不够好,因为有时候页面需要更多的迭代次数,有时甚至更少的东西可以到达页面的底部。

是否有一个get函数,所以我可以使用if语句,如:

for i in range(25):
    if driver.current_position == driver.document_height:
        break
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight)")
    time.sleep(0.5)

所以,当我到达文档末尾时,我不会等待任何事情并打破循环。

或者如果我可以检查我跳过了多少像素,如果它是零,我将打破循环

1 个答案:

答案 0 :(得分:0)

最好使用while循环,并在点击页面底部后突破循环,而不是在for中进行一定数量的迭代。讨论一种方法,这里:Scrolling down a page with Selenium Webdriver