无法使用"向下翻页"有效地在我的爬虫

时间:2017-09-29 12:36:40

标签: python python-3.x selenium selenium-webdriver web-scraping

我已经在python中编写了一个非常小的脚本与selenium结合使网页自动向下滚动到它的底部。我的脚本只能在一定程度上完成,因为我不了解如何设置范围的最高参数,以便我的脚本将遵循该脚本并到达页面底部。我真的不知道如何修复最高范围,这就是我在脚本中将其设置为10以查看它是否有效的原因。如果我知道如何使用我在这里开始的方式到达该网页的底部,我将非常感激。提前谢谢。

脚本我尝试过:

from selenium import webdriver ; import time
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()
driver.get("http://fortune.com/fortune500/list/")
sloping = driver.find_element_by_tag_name('body')
for i in range(10):                        #I'was talking about this range
    sloping.send_keys(Keys.PAGE_DOWN)
    time.sleep(3)

1 个答案:

答案 0 :(得分:0)

这可以通过滚动到document.body.scrollHeight一行完成。您可以试试这个

 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
  • 如上所述向下滚动
  • 等几秒钟
  • 保存页面源的大小(xxx.page_source)
  • 如果页面源的大小大于保存的最后一页源大小,则循环返回并向下滚动一些