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 相关文章推荐
Python简单计算文件MD5值的方法示例
Apr 11 Python
Anaconda2下实现Python2.7和Python3.5的共存方法
Jun 11 Python
Python打包方法Pyinstaller的使用
Oct 09 Python
Python中对数组集进行按行打乱shuffle的方法
Nov 08 Python
python执行精确的小数计算方法
Jan 21 Python
Python的高阶函数用法实例分析
Apr 11 Python
如何使用Python自动控制windows桌面
Jul 11 Python
PIL包中Image模块的convert()函数的具体使用
Feb 26 Python
python读取xml文件方法解析
Aug 04 Python
Python调用jar包方法实现过程解析
Aug 11 Python
Python爬取你好李焕英豆瓣短评生成词云的示例代码
Feb 24 Python
matplotlib之pyplot模块实现添加子图subplot的使用
Apr 25 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
解析CodeIgniter自定义配置文件
2013/06/18 PHP
php 购物车完整实现代码
2014/06/05 PHP
采用ThinkPHP中F方法实现快速缓存实例
2014/06/13 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(四)
2014/06/23 PHP
php cookie 详解使用实例
2016/11/03 PHP
PHP实现二维数组根据key进行排序的方法
2016/12/30 PHP
PHP中str_split()函数的用法讲解
2019/04/11 PHP
jQuery中绑定事件的命名空间详解
2011/04/05 Javascript
再次分享18个非常棒的jQuery表格插件
2011/04/10 Javascript
js取两个数组的交集|差集|并集|补集|去重示例代码
2013/08/07 Javascript
获取表单控件原始(初始)值的方法
2013/08/21 Javascript
几种设置表单元素中文本输入框不可编辑的方法总结
2013/11/25 Javascript
让JavaScript的Alert弹出框失效的方法禁止弹出警告框
2014/09/03 Javascript
jQuery鼠标经过方形图片切换成圆边效果代码分享
2015/08/20 Javascript
jQuery 选择同时包含两个class的元素的实现方法
2016/06/01 Javascript
JavaScript lodash常见用法系列小结
2016/08/24 Javascript
解读ES6中class关键字
2017/11/20 Javascript
快速解决vue-cli在ie9+中无效的问题
2018/09/04 Javascript
layui checkbox默认选中,获取选中值,清空所有选中项的例子
2019/09/02 Javascript
vue项目使用.env文件配置全局环境变量的方法
2019/10/24 Javascript
js+css3实现简单时钟特效
2020/09/13 Javascript
[03:09]2014DOTA2国际邀请赛 赛场上的美丽风景线 中国Coser也爱DOTA2
2014/07/20 DOTA
Python while、for、生成器、列表推导等语句的执行效率测试
2015/06/03 Python
mac下pycharm设置python版本的图文教程
2018/06/13 Python
Django压缩静态文件的实现方法详析
2018/08/26 Python
解决新django中的path不能使用正则表达式的问题
2018/12/18 Python
详解Python3中setuptools、Pip安装教程
2019/06/18 Python
Python3实现mysql连接和数据框的形成(实例代码)
2020/01/17 Python
阿里旅行:飞猪
2017/01/05 全球购物
群胜软件Java笔试题
2012/09/29 面试题
酒店服务与管理毕业生求职信
2013/11/02 职场文书
传播学专业毕业生自荐信
2013/11/04 职场文书
请假条范文大全
2014/04/10 职场文书
上课玩手机的检讨书
2014/10/01 职场文书
Python 阶乘详解
2021/10/05 Python
vue使用refs获取嵌套组件中的值过程
2022/03/31 Vue.js