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中的pydoc模块和distutils模块
Apr 13 Python
在Python中使用PIL模块对图片进行高斯模糊处理的教程
May 05 Python
Python中的列表生成式与生成器学习教程
Mar 13 Python
Python中矩阵库Numpy基本操作详解
Nov 21 Python
python构建深度神经网络(DNN)
Mar 10 Python
如何使用Python的Requests包实现模拟登陆
Apr 27 Python
Python 中的 global 标识对变量作用域的影响
Aug 12 Python
Python爬取豆瓣视频信息代码实例
Nov 16 Python
Python创建一个元素都为0的列表实例
Nov 28 Python
使用npy转image图像并保存的实例
Jul 01 Python
PyCharm 光标变成黑块的解决方式
Feb 06 Python
pytorch 如何使用batch训练lstm网络
May 28 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 删除一个目录及目录下的所有文件的函数代码
2010/05/26 PHP
PHP自定义错误处理的方法分析
2018/12/19 PHP
PHP PDOStatement::closeCursor讲解
2019/01/30 PHP
通过PHP实现用户注册后邮箱验证激活
2020/11/10 PHP
jquery.blockUI.js上传滚动等待效果实现思路及代码
2013/03/18 Javascript
jQuery实现动画效果的实例代码
2013/05/07 Javascript
JQuery事件e参数的方法preventDefault()取消默认行为
2013/09/26 Javascript
jQuery元素的隐藏与显示实例
2015/01/20 Javascript
js实现文本框选中的方法
2015/05/26 Javascript
NodeJS实现阿里大鱼短信通知发送
2016/01/17 NodeJs
jQuery中队列queue()函数的实例教程
2016/05/03 Javascript
全面解析bootstrap格子布局
2016/05/22 Javascript
jQuery图片左右滚动代码 有左右按钮实例
2016/06/20 Javascript
基于javascript实现按圆形排列DIV元素(三)
2016/12/02 Javascript
webpack多入口文件页面打包配置详解
2018/01/09 Javascript
Bootstrap模态对话框中显示动态内容的方法
2018/08/10 Javascript
解决Echarts 显示隐藏后宽度高度变小的问题
2020/07/19 Javascript
pandas中去除指定字符的实例
2018/05/18 Python
python各种excel写入方式的速度对比
2020/11/10 Python
PyTorch中clone()、detach()及相关扩展详解
2020/12/09 Python
CSS3教程(1):什么是CSS3
2009/04/02 HTML / CSS
HTML5 表单验证失败的提示语问题
2017/07/13 HTML / CSS
html5用video标签流式加载的实现
2020/05/20 HTML / CSS
Tripadvisor新西兰:阅读评论,比较价格和酒店预订
2018/02/10 全球购物
马歇尔耳机官网:Marshall Headphones
2020/02/04 全球购物
一套C++笔试题面试题
2012/06/06 面试题
年度考核自我评价
2014/01/25 职场文书
出纳员岗位职责
2014/03/13 职场文书
建设投标担保书
2014/05/13 职场文书
机关党员进社区活动总结
2014/07/05 职场文书
解除劳动合同协议书(样本)
2014/10/02 职场文书
2014年行政人事工作总结
2014/12/09 职场文书
父亲婚礼答谢词
2015/01/04 职场文书
执行力心得体会范文
2016/01/11 职场文书
springboot @ConfigurationProperties和@PropertySource的区别
2021/06/11 Java/Android
教你使用一行Python代码玩遍童年的小游戏
2021/08/23 Python