解决页面滚动并滚动停止时间问题案例 python 滚动条 页面滚动

1. 问题引入

现在的网页都是采用ajax加载的,如果我们要用selenium爬取网页的全部内容,就必须等待网页彻底加载完毕。而一页很显然不能加载完,那就需要拖动滚动条,直到所有内容加载完。而且,如果你爬取的时多个网页,那么你要控制住,当页面内容加载完后停止滚动。然后开始获取页面内容并解析爬取。本文就是介绍这两点内容的。我查找了许多帖子和博客,最终没有能够如愿解决。后来结合查到的信息内容和自己的思想解决了问题。全用的python和selenium知识。如你有更好的方法欢迎留言,留链接,一定借鉴。

2. 屏幕滚动问题

滚屏问题,我查了很多帖子,都是操作滚动条。而我的案例滚动条时隐藏的,很多次都没有成功。后来采用了send_keys(Keys.PAGEUP)解决了问题。具体代码如下:

from selenium import webdriver
from selenium.webdirver.commen.keys import Keys
import time
# 实例化web驱动
driver = webdriver.Chrome()
# 你要爬取的网页地址,建议换成自己的,我这个需要扫码登录
url='https://www.pypypy.cn/#/apps/1/lecture/5cd9766a19bbcf00015547d0
driver.get(url)
time.sleep(2) # 让页面加载完毕再操作,避免无效操作
driver.find_element_by_tag_name('body').click()  # 这一步的意思就是在获得的页面上点击一下,这步很关键,如果不点击,后面的翻页动作将不会进行
 for i in range(20&
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值