selenium 如何控制滚动条逐步滚动

news/2024/7/19 12:34:36 标签: python, 爬虫, selenium

自己在编写爬虫有时涉及到动态加载时,需要通过selenium控制滚动条逐步逐步的慢慢的往下滚动。

这里先说下如何实现控制条移动:

   原理:通过driver.execute()执行js代码,达到目的

  ①

python">driver.execute_script('window.scrollBy(0,1000)')

   #  scrollBy(x,y)中,x为必须参数,表示向右滚动的像素值;y也为必须参数,表示向下滚动的像素值

  ②

python">driver.execute_script('window.scrollTo(0,1000)')

   # scrollTo(x,y) 中,x为必须参数,表示要在窗口文档显示区左上角显示的文档的x坐标;y也为必须参数,表示要在窗口文档显示区左上角显示的文档的y坐标

    # 这里配合chrome插件能快速找到位置:pageruler

python">driver.execute_script('document.documentElement.scrollTop=10000')
# 10000表示一下拉到底

 

 

接下来,就是重点部分了,小编亲测,对于实现滚动条逐步逐步向下移动,可以通过第一种方式,第三种方式会一次到底,而不会根据条件一步一步的移动。

代码如下

python"> for y in range(30):
        js='window.scrollBy(0,100)'
        driver.execute_script(js)
        time.sleep(0.5)

 


http://www.niftyadmin.cn/n/1587942.html

相关文章

Flutter有状态组件

简介 StatefulWidget:有状态组件,持有的状态可以在Widget声明周期改变(即数据可以进行修改) class HomeContent extends StatefulWidget {HomeContent({Key key}) : super(key: key);_HomeContentState createState() > _Home…

django的admin后台管理如何更改为中文

新建Django的admin后端控制为英文显示,为了可以使其显示中文,可以将 LANGUAGE_CODE en-usTIME_ZONE UTC 更改为 LANGUAGE_CODE zh-HansTIME_ZONE Asia/Shanghai 即可实现为中文显示

ORACLE 总结

1. diagnostic file(alertlog, tracefile, redolog), 监控数据库动作时间点 [troubleshooting] alertlog : 确认checkpoint时间, 其他一些对数据库进行的大动作, ok 直接打开查看 tracefile: 和用户进程相关的一些监控, 稍微有点麻烦 首先要设置session级别, 不要设置成instanc…

价格即王道?2000元差距 OPPO K1 KO华为P20

这几年手机行业的竞争性已经逐渐变弱了,所以这就要求各大厂商必须不断的创新,拿出有足够产品力的产品,才能站稳手机市场。 比如上半年的顶级旗舰机OPPO Find X,创新的双曲面全景屏,双轨潜望结构在海内外都引起了轰动&a…

Flutter--BottomNavigationBar组件

BottomNavigationBar 属性释义itemsLisst底部导航按钮集合iconSizeiconcurrentIndex默认选中的tabonTap选中变化函数fixedColor选中的颜色typeBottomNavigationBarType.fixed, BottomNavigationBarType.shifting eg: 创建tab class MyApp extends StatelessWidget {overrideW…

Django中的Form和ModelForm

1.models表单定义: from django import forms # 导入表单模块 from django.core.exceptions import ValidationErrorclass RegisterForm(forms.Form): # 自定义表单类,并继承forms.Formemail forms.EmailField(widgetforms.EmailInput(attrs{"cl…

CIO的责任不仅仅是信息管理

信息治理不是IT的工作,但这应该是CIO的工作。是时候让CIO超越自己作为首席技术人员的角色了,接受首席信息官名称的所有含义。 为什么?信息的爆炸式增长正在加速。根据2012 IDC/EMC的数字宇宙报告,数据量每两年翻一番。与此同时&am…

Flutter--路由(页面跳转)

基本路由的使用 import package:flutter/material.dart; import package:flutter_app/pages/info.dart; // 将页面引入class HomePage extends StatefulWidget {HomePage({Key key}) : super(key: key);_HomePageState createState() > _HomePageState(); }class _HomePage…