Selenium 滚动页面至元素可见的方法


Posted in Python onMarch 18, 2020

滚动页面

在自动化操作中,如果web页面过长,而我们需要的元素并不在当前可视页面中,那么selenium就无法对其进行操作;此时,我们就需要像平时操作浏览器一样来滚动页面,使我们需要操作的对象可见!

滚动页面的方法:

window.scrollBy()

  • window.scrollBy(0,500)

       向下滚动500个像素

  • window.scrollBy(0,-500)

    向上滚动500个像素

  • window.scrollBy(500,0)

       向右滚动500个像素

  • window.scrollBy(-500,0)

    向左滚动500个像素

使用方式:

  • 在 开发者工具--Console中输入以上内容,即可实现页面滚动
  • 示例:window.scrollBy(0,500)

      向下滚动500个像素

Selenium中实现滚动页面

  • driver.execute_script('window.scrollBy()')
  • driver.execute_script("arguments[0].scrollIntoView();", ele)

    滚动至元素ele可见

 代码示例:

from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.implicitly_wait(10)
# 设置窗口大小
driver.set_window_size(800, 700)

driver.get('http://baidu.com')

# 百度输入框输入 selelnium python 回车
driver.find_element_by_id("kw").send_keys("selenium python\n")

time.sleep(2)
# 向下滚动200个像素
driver.execute_script('window.scrollBy(0,200)')

time.sleep(2)
# 滚动至元素ele可见位置
eles = driver.find_elements_by_css_selector('#rs table tr th a')
ele = eles[0]
driver.execute_script("arguments[0].scrollIntoView();",ele)

time.sleep(2)
# 向右滚动200个像素
driver.execute_script('window.scrollBy(200,0)')

time.sleep(2)
driver.quit()

到此这篇关于Selenium 滚动页面至元素可见的文章就介绍到这了,更多相关Selenium 滚动页面 内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
windows下wxPython开发环境安装与配置方法
Jun 28 Python
Python and、or以及and-or语法总结
Apr 14 Python
详解Python程序与服务器连接的WSGI接口
Apr 29 Python
浅谈python可视化包Bokeh
Feb 07 Python
PyQt5每天必学之组合框
Apr 20 Python
Python实现模拟浏览器请求及会话保持操作示例
Jul 30 Python
python实现多人聊天室
Mar 31 Python
你还在@微信官方?聊聊Python生成你想要的微信头像
Sep 25 Python
Python list与NumPy array 区分详解
Nov 06 Python
Python3爬虫中Splash的知识总结
Jul 10 Python
python多线程semaphore实现线程数控制的示例
Aug 10 Python
分享7个 Python 实战项目练习
Mar 03 Python
python字符串判断密码强弱
Mar 18 #Python
详解Python3中的 input() 函数
Mar 18 #Python
Python通过socketserver处理多个链接
Mar 18 #Python
python实现密码强度校验
Mar 18 #Python
Python tcp传输代码实例解析
Mar 18 #Python
python实现用户名密码校验
Mar 18 #Python
Python3+selenium实现cookie免密登录的示例代码
Mar 18 #Python
You might like
php 截取字符串并以零补齐str_pad() 函数
2011/05/07 PHP
使用laravel的Eloquent模型如何获取数据库的指定列
2019/10/17 PHP
javascript setTimeout()传递函数参数(包括传递对象参数)
2010/04/07 Javascript
location.href 在IE6中不跳转的解决方法与推荐使用代码
2010/07/08 Javascript
jQuery图片预加载 等比缩放实现代码
2011/10/04 Javascript
JQuery中关于jquery.js与jquery.min.js的比较探讨
2013/05/15 Javascript
Extjs的FileUploadField文件上传出现了两个上传按钮
2014/04/29 Javascript
jQuery 隐藏和显示 input 默认值示例
2014/06/03 Javascript
AngularJS语法详解
2015/01/23 Javascript
jQuery实现固定在网页顶部的菜单效果代码
2015/09/02 Javascript
JavaScript引用类型和基本类型详解
2016/01/06 Javascript
Javascript的表单验证长度
2016/03/16 Javascript
JavaScript自定义函数实现查找两个字符串最长公共子串的方法
2016/11/24 Javascript
js实现鼠标拖拽多选功能示例
2017/08/01 Javascript
Vue 表情包输入组件的实现代码
2019/01/21 Javascript
Element中的Cascader(级联列表)动态加载省\市\区数据的方法
2019/03/27 Javascript
微信小程序上传图片并等比列压缩到指定大小的实例代码
2019/10/24 Javascript
Python库urllib与urllib2主要区别分析
2014/07/13 Python
Python 3.8中实现functools.cached_property功能
2019/05/29 Python
python实现截取屏幕保存文件,删除N天前截图的例子
2019/08/27 Python
pycharm双击无响应(打不开问题解决办法)
2020/01/10 Python
关于Theano和Tensorflow多GPU使用问题
2020/06/19 Python
Django Session和Cookie分别实现记住用户登录状态操作
2020/07/02 Python
DRF框架API版本管理实现方法解析
2020/08/21 Python
最新Python idle下载、安装与使用教程图文详解
2020/11/28 Python
可持续木材、生态和铝制太阳镜:Proof Eyewear
2019/07/24 全球购物
国际会议邀请函范文
2014/01/16 职场文书
《长征》教学反思
2014/04/27 职场文书
捐款通知怎么写
2015/04/24 职场文书
计划生育目标责任书
2015/05/09 职场文书
中秋节主题班会
2015/08/14 职场文书
学生会自荐信
2019/05/16 职场文书
职业生涯规划书之大学四年
2019/08/07 职场文书
k-means & DBSCAN 总结
2021/04/27 Python
MySQL 外键约束和表关系相关总结
2021/06/20 MySQL
聊一聊Redis与MySQL双写一致性如何保证
2021/06/26 Redis