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中使用成员运算符的示例
May 13 Python
Python端口扫描简单程序
Nov 10 Python
浅谈Python实现2种文件复制的方法
Jan 19 Python
Python网页正文转换语音文件的操作方法
Dec 09 Python
python使用xlsxwriter实现有向无环图到Excel的转换
Dec 12 Python
pyttsx3实现中文文字转语音的方法
Dec 24 Python
pyinstaller打包单个exe后无法执行错误的解决方法
Jun 21 Python
python+selenium 点击单选框-radio的实现方法
Sep 03 Python
pytorch对梯度进行可视化进行梯度检查教程
Feb 04 Python
Pytest mark使用实例及原理解析
Feb 22 Python
Python3使用Selenium获取session和token方法详解
Feb 16 Python
pytorch 中autograd.grad()函数的用法说明
May 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
php中转义mysql语句的实现代码
2011/06/24 PHP
PHP中strtotime函数使用方法详解
2011/11/27 PHP
PHP循环语句笔记(foreach,list)
2011/11/29 PHP
php中session使用示例
2014/03/29 PHP
php5对象复制、clone、浅复制与深复制实例详解
2019/08/14 PHP
用js实现下载远程文件并保存在本地的脚本
2008/05/06 Javascript
页面只有一个text的时候,回车自动submit的解决方法
2010/08/12 Javascript
js jquery数组介绍
2012/07/15 Javascript
运算符&&的三个不同层次
2013/04/07 Javascript
js 3秒后跳转页面的实现代码
2014/03/10 Javascript
js实现鼠标感应向下滑动隐藏菜单的方法
2015/02/20 Javascript
深入理解JavaScript系列(21):S.O.L.I.D五大原则之接口隔离原则ISP详解
2015/03/05 Javascript
jquery实现兼容IE8的异步上传文件
2015/06/15 Javascript
JS代码防止SQL注入的方法(超简单)
2016/04/12 Javascript
Nodejs全局安装和本地安装的不同之处
2016/07/04 NodeJs
原生js实现class的添加和删除简单代码
2016/07/12 Javascript
vue移动端弹框组件的实例
2018/09/25 Javascript
JS大坑之19位数的Number型精度丢失问题详解
2019/04/22 Javascript
JavaScript计算出两个数的差值
2020/03/19 Javascript
[02:37]TI8勇士令状不朽珍藏II视频展示
2018/06/23 DOTA
python中 logging的使用详解
2017/10/25 Python
python队列通信:rabbitMQ的使用(实例讲解)
2017/12/22 Python
Python读取系统文件夹内所有文件并统计数量的方法
2018/10/23 Python
Python 单元测试(unittest)的使用小结
2018/11/14 Python
Python3对称加密算法AES、DES3实例详解
2018/12/06 Python
对python tkinter窗口弹出置顶的方法详解
2019/06/14 Python
python文件转为exe文件的方法及用法详解
2019/07/08 Python
python gdal安装与简单使用
2019/08/01 Python
Python进阶之使用selenium爬取淘宝商品信息功能示例
2019/09/16 Python
Python+Tensorflow+CNN实现车牌识别的示例代码
2019/10/11 Python
TFRecord文件查看包含的所有Features代码
2020/02/17 Python
高中同学聚会邀请函
2014/01/11 职场文书
参赛口号
2014/06/16 职场文书
优秀教师自我评价范文
2014/09/27 职场文书
2014年技术工作总结范文
2014/11/20 职场文书
2019朋友新婚祝福语精选
2019/10/10 职场文书