首页 > 解决方案 > 如何在使用 selenium 无限滚动的网页中多次滚动

问题描述

我有一个类似如下的站点:http: //quotes.toscrape.com/scroll 你可以看到该站点有一个无限滚动条,我们必须多次单击滚动条才能加载更多信息。使用下面的代码,我们只能单击该栏一次,并且只加载很少的信息。那么如何单击多次以通过python selenium获取更多信息?

import csv
import paramaters
from parsel import Selector
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome('D:\chromedriver_win32\chromedriver.exe')
driver.get('http://quotes.toscrape.com/scroll')
sleep(3)
elem =driver.find_element_by_tag_name('html')
elem.send_keys(Keys.END)
sleep(30)

标签: pythonseleniumscrolllazy-loadingwebdriverwait

解决方案


如果您正在抓取无限滚动的页面,则执行 Javascript 以继续滚动页面:

driver.execute_script("window.scrollTo(0,document.body.scrollHeight);")

推荐阅读