python - 如何在使用 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)
解决方案
如果您正在抓取无限滚动的页面,则执行 Javascript 以继续滚动页面:
driver.execute_script("window.scrollTo(0,document.body.scrollHeight);")
推荐阅读
- jquery - 在没有 flexbox 或 text-align justify 的情况下在两端水平对齐内容/导航
- java - @OneToOne/@ManyToOne/@ManyToMany 的非拥有实体端
- flatbuffers - Flatbuffers Verifier 在没有任何断言的情况下返回 false(定义了 FLATBUFFERS_DEBUG_VERIFICATION_FAILURE)
- php - 如何显示 smarty 变量的所有信息?
- javascript - 如何通过自定义控制器添加副作用以在 Strapi 中创建新记录?
- python - 使用 python (scipy) 提高 Sylvester 方程的求解精度
- html - 如何防止使用 CSS 加载?
- numpy - 在 PyTorch 变换中使用 skimage 特征提取器
- jquery - JQuery datepicker 默认日期和多个 datepicker
- oracle - Oracle 自治连接的 ODP.Net Core Appsettings.json 配置