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 相关文章推荐
Python2.x版本中cmp()方法的使用教程
May 14 Python
简单讲解Python编程中namedtuple类的用法
Jun 21 Python
Python 函数基础知识汇总
Mar 09 Python
Python 使用 attrs 和 cattrs 实现面向对象编程的实践
Jun 12 Python
解决Pytorch 训练与测试时爆显存(out of memory)的问题
Aug 20 Python
Django中间件拦截未登录url实例详解
Sep 03 Python
PyCharm使用之配置SSH Interpreter的方法步骤
Dec 26 Python
python代码如何实现余弦相似性计算
Feb 09 Python
Python使用ElementTree美化XML格式的操作
Mar 06 Python
pyautogui自动化控制鼠标和键盘操作的步骤
Apr 01 Python
使用Keras 实现查看model weights .h5 文件的内容
Jun 09 Python
python全面解析接口返回数据
Feb 12 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
用IE远程创建Mysql数据库的简易程序
2006/10/09 PHP
用PHP产生动态的影像图
2006/10/09 PHP
destoon实现调用自增数字从1开始的方法
2014/08/21 PHP
PHP常用设计模式之委托设计模式
2016/02/13 PHP
php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)
2016/09/23 PHP
php判断目录存在的简单方法
2019/09/26 PHP
js 与或运算符 || && 妙用
2009/12/09 Javascript
文本框中禁止非数字字符输入比如手机号码、邮编
2013/08/19 Javascript
JavaScript针对网页节点的增删改查用法实例
2015/02/02 Javascript
jQuery实现的鼠标滑过弹出放大图片特效
2016/01/08 Javascript
js获取所有checkbox的值的简单实例
2016/05/30 Javascript
JS实现兼容各种浏览器的高级拖动方法完整实例【测试可用】
2016/06/21 Javascript
微信小程序 label 组件详解及简单实例
2017/01/10 Javascript
AngularJS实现使用路由切换视图的方法
2017/01/24 Javascript
mui框架移动开发初体验详解
2017/10/11 Javascript
详谈DOM简介及节点、属性、查找节点的方法
2017/11/16 Javascript
javascript中的replace函数(带注释demo)
2018/01/07 Javascript
angular4强制刷新视图的方法
2018/10/09 Javascript
微信小程序如何修改本地缓存key中单个数据的详解
2019/04/26 Javascript
原生js无缝轮播插件使用详解
2020/03/09 Javascript
[07:40]DOTA2每周TOP10 精彩击杀集锦vol.4
2014/06/25 DOTA
Python实现SSH远程登陆,并执行命令的方法(分享)
2017/05/08 Python
Python爬虫之正则表达式的使用教程详解
2018/10/25 Python
python标准库OS模块函数列表与实例全解
2020/03/10 Python
Python 炫技操作之合并字典的七种方法
2020/04/10 Python
Python json读写方式和字典相互转化
2020/04/18 Python
django正续或者倒序查库实例
2020/05/19 Python
Python3.7安装PyQt5 运行配置Pycharm的详细教程
2020/10/15 Python
Mountain Warehouse德国官网:英国户外零售商
2019/08/11 全球购物
表彰大会策划方案
2014/05/13 职场文书
公关活动策划方案
2014/05/25 职场文书
国际贸易专业自荐信
2014/06/10 职场文书
员工生日会策划方案
2014/06/14 职场文书
发票退票证明
2015/06/24 职场文书
python入门之算法学习
2021/04/22 Python
生命的关键成分来自太空?陨石说是的
2022/04/29 数码科技