Python “无法使用”;“向下翻页”;在我的爬虫里

Python “无法使用”;“向下翻页”;在我的爬虫里,python,python-3.x,selenium,selenium-webdriver,web-scraping,Python,Python 3.x,Selenium,Selenium Webdriver,Web Scraping,我用python和selenium编写了一个非常小的脚本,使网页自动向下滚动到底部。我的脚本只能在一定程度上做到这一点,因为我不知道如何设置该范围的最高参数,以便我的脚本能够遵循该参数并到达页面底部。我真的不知道应该如何修正最高范围,这就是为什么我在脚本中将它设置为10,以查看它是否有效。如果我知道如何使用我在这里开始的方式到达网页底部,我将非常感激。提前谢谢 我尝试过的脚本: from selenium import webdriver ; import time from selenium.

我用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)

通过滚动到
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\u源)
  • 如果页面源的大小大于上次保存的页面源大小,请返回并向下滚动更多

这可以通过滚动到
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\u源)
  • 如果页面源的大小大于上次保存的页面源大小,请返回并向下滚动更多

感谢Zsbapa的友好回答。我对你提供的答案很熟悉。我在标题中明确提到了
page\u down
,我想用它来完成脚本。此外,我在我的描述中再次提到,我希望以我开始的方式解决这个问题。再次感谢,谢谢你友好的回答。我对你提供的答案很熟悉。我在标题中明确提到了
page\u down
,我想用它来完成脚本。此外,我在我的描述中再次提到,我希望以我开始的方式解决这个问题。再次感谢。你的目标是立即进入页面底部吗?谢谢你的评论。你凭什么猜到我会这样?我只需要知道不需要像我上面所做的那样硬编码任何数字到范围的过程应该是什么。。“如果我知道如何使用我在这里开始的方式到达网页底部,我将非常感激。”那么页面底部?这意味着立即到达那里吗?你的目标是立即到达页面底部吗?谢谢IamBatman,谢谢你的评论。你凭什么猜到我会这样?我只需要知道不需要像我上面所做的那样硬编码任何数字到范围的过程应该是什么。。“如果我知道如何用我在这里开始的方式到达网页的底部,我将非常感激。”那么页面的底部?这意味着立即到达那里吗?