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操作Excel之xlsx文件
Mar 24 Python
python使用matplotlib绘图时图例显示问题的解决
Apr 27 Python
python使用super()出现错误解决办法
Aug 14 Python
Python 绘图库 Matplotlib 入门教程
Apr 19 Python
python方法生成txt标签文件的实例代码
May 10 Python
Flask入门之上传文件到服务器的方法示例
Jul 18 Python
python selenium firefox使用详解
Feb 26 Python
Django中使用 Closure Table 储存无限分级数据
Jun 06 Python
40行Python代码实现天气预报和每日鸡汤推送功能
Feb 27 Python
在keras里实现自定义上采样层
Jun 28 Python
Python实现石头剪刀布游戏
Jan 20 Python
Python必备技巧之字符数据操作详解
Mar 23 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往windows中添加用户
2006/12/06 PHP
PHP JSON 数据解析代码
2010/05/26 PHP
关于PHP实现异步操作的研究
2013/02/03 PHP
浅析SVN常见问题及解决方法
2013/06/21 PHP
PHP实现查询两个数组中不同元素的方法
2016/02/23 PHP
PHP面相对象中的重载与重写
2017/02/13 PHP
Extjs4 关于Store的一些操作(加载/回调/添加)
2013/04/18 Javascript
使用AngularJS处理单选框和复选框的简单方法
2015/06/19 Javascript
jQuery实现文本框输入同步的方法
2015/06/20 Javascript
JS+CSS实现带有碰撞缓冲效果的竖向导航条代码
2015/09/15 Javascript
Bootstrap与KnockoutJs相结合实现分页效果实例详解
2016/05/03 Javascript
使用纯JS代码判断字符串中有多少汉字的实现方法(超简单实用)
2016/11/12 Javascript
利用原生JavaScript实现造日历轮子实例代码
2019/05/08 Javascript
浅谈vuex的基本用法和mapaction传值问题
2019/11/08 Javascript
[01:14:05]《加油DOTA》第四期
2014/08/25 DOTA
linux环境下安装pyramid和新建项目的步骤
2013/11/27 Python
python unittest实现api自动化测试
2018/04/04 Python
python用opencv批量截取图像指定区域的方法
2019/01/24 Python
详解Python数据可视化编程 - 词云生成并保存(jieba+WordCloud)
2019/03/26 Python
基于Python中的yield表达式介绍
2019/11/19 Python
python NumPy ndarray二维数组 按照行列求平均实例
2019/11/26 Python
Python如何使用vars返回对象的属性列表
2020/10/17 Python
python爬取招聘要求等信息实例
2020/11/20 Python
HTML5 Canvas渐进填充与透明实现图像的Mask效果
2013/07/11 HTML / CSS
HTML5中input[type='date']自定义样式与日历校验功能的实现代码
2017/07/11 HTML / CSS
阿里巴巴国际站:Alibaba.com
2016/07/21 全球购物
Etam艾格英国官网:法国著名女装品牌
2019/04/15 全球购物
岗位职责的定义
2013/11/10 职场文书
党员培训思想汇报
2014/01/07 职场文书
数字化校园建设方案
2014/05/03 职场文书
母亲节演讲稿
2014/05/27 职场文书
销售员试用期自我评价
2014/09/15 职场文书
四风批评与自我批评范文
2014/10/14 职场文书
学校党支部公开承诺书
2015/04/30 职场文书
小学运动会报道稿
2015/07/22 职场文书
小公司融资,商业计划书的8切记
2019/07/15 职场文书