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使用os模块的os.walk遍历文件夹示例
Jan 27 Python
使用Python的Supervisor进行进程监控以及自动启动
May 29 Python
Python写的一个简单DNS服务器实例
Jun 04 Python
Python解析xml中dom元素的方法
Mar 12 Python
详解Python中break语句的用法
May 14 Python
简单谈谈python中的语句和语法
Aug 10 Python
Python之web模板应用
Dec 26 Python
解决python多行注释引发缩进错误的问题
Aug 23 Python
Python计算不规则图形面积算法实现解析
Nov 22 Python
Python 炫技操作之合并字典的七种方法
Apr 10 Python
keras 模型参数,模型保存,中间结果输出操作
Jul 06 Python
如何用Matplotlib 画三维图的示例代码
Jul 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
全国FM电台频率大全 - 9 上海市
2020/03/11 无线电
PHP不用递归遍历目录下所有文件的代码
2014/07/04 PHP
推荐一款MAC OS X 下php集成开发环境mamp
2014/11/08 PHP
Laravel 5框架学习之表单验证
2015/04/08 PHP
zen cart实现订单中增加paypal中预留电话的方法
2016/07/12 PHP
php中get_magic_quotes_gpc()函数说明
2017/02/06 PHP
原生JS实现Ajax通过POST方式与PHP进行交互的方法示例
2018/05/12 PHP
使用jQuery的ajax功能实现的RSS Reader 代码
2009/09/03 Javascript
使用jQuery.fn自定义jQuery翻页插件
2013/01/20 Javascript
jQuery实现可拖动的浮动层完整代码
2013/05/27 Javascript
Google Dart编程语法和基本类型学习教程
2013/11/27 Javascript
JavaScript中的console.time()函数详细介绍
2014/12/29 Javascript
jQuery Real Person验证码插件防止表单自动提交
2015/11/06 Javascript
基于jQuery.validate及Bootstrap的tooltip开发气泡样式的表单校验组件思路详解
2016/07/18 Javascript
Vue2.0 组件传值通讯的示例代码
2017/08/01 Javascript
Vue2.0+ElementUI实现表格翻页的实例
2017/10/23 Javascript
用Vue.js方法创建模板并使用多个模板合成
2019/06/28 Javascript
vue实现文件上传读取及下载功能
2020/11/17 Javascript
[54:08]LGD女子刀塔学院 DOTA2炼金术士教学
2014/01/09 DOTA
[03:54]DOTA2英雄梦之声_第06期_昆卡
2014/06/23 DOTA
基于Python实现对PDF文件的OCR识别
2016/08/05 Python
在Python中使用gRPC的方法示例
2018/08/08 Python
为什么str(float)在Python 3中比Python 2返回更多的数字
2018/10/16 Python
python中使用 xlwt 操作excel的常见方法与问题
2019/01/13 Python
Python多进程入门、分布式进程数据共享实例详解
2019/06/03 Python
jupyter notebook 多环境conda kernel配置方式
2020/04/10 Python
使用pygame实现垃圾分类小游戏功能(已获校级二等奖)
2020/07/23 Python
Html5+JS实现手机摇一摇功能
2015/04/24 HTML / CSS
自我鉴定200字
2013/10/28 职场文书
怎样拟定创业计划书
2014/05/01 职场文书
高中综合实践活动总结
2014/07/07 职场文书
巾帼志愿者活动方案
2014/08/17 职场文书
大学新生军训自我鉴定
2014/09/18 职场文书
先进基层党组织事迹材料
2014/12/25 职场文书
担保书怎么写 ?
2019/04/22 职场文书
OpenCV 图像梯度的实现方法
2021/07/25 Python