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模块学习 filecmp 文件比较
Aug 27 Python
Python生成随机验证码的两种方法
Dec 22 Python
python中文分词,使用结巴分词对python进行分词(实例讲解)
Nov 14 Python
在python3中pyqt5和mayavi不兼容问题的解决方法
Jan 08 Python
pandas read_excel()和to_excel()函数解析
Sep 19 Python
django框架单表操作之增删改实例分析
Dec 16 Python
利用python3 的pygame模块实现塔防游戏
Dec 30 Python
python能自学吗
Jun 18 Python
python读取excel进行遍历/xlrd模块操作
Jul 12 Python
Python 下载Bing壁纸的示例
Sep 29 Python
使用Python解析Chrome浏览器书签的示例
Nov 13 Python
Python descriptor(描述符)的实现
Nov 15 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
CI(CodeIgniter)框架中的增删改查操作
2014/06/10 PHP
php准确计算复活节日期的方法
2015/04/18 PHP
smarty自定义函数用法示例
2016/05/20 PHP
PHP中strpos、strstr和stripos、stristr函数分析
2016/06/11 PHP
jQuery powerFloat万能浮动层下拉层插件使用介绍
2010/12/27 Javascript
按给定几率进行随机抽取的js代码
2010/12/28 Javascript
JS动态创建Table,Tr,Td并赋值的具体实现
2013/07/05 Javascript
HTML页面登录时的JS验证方法
2014/05/28 Javascript
node.js开机自启动脚本文件
2014/12/24 Javascript
js+css实现导航效果实例
2015/02/10 Javascript
jQuery实现多级下拉菜单jDropMenu的方法
2015/08/28 Javascript
JS利用cookie记忆当前位置的防刷新导航效果
2015/10/15 Javascript
Bootstrap源码解读按钮(5)
2016/12/23 Javascript
jQuery实现切换隐藏与显示同时切换图标功能
2017/10/29 jQuery
使用jQuery给Table动态增加行、清空table的方法
2018/09/05 jQuery
微信小程序实现的一键连接wifi功能示例
2019/04/24 Javascript
layui上传图片到服务器的非项目目录下的方法
2019/09/26 Javascript
js实现数字滚动特效
2019/12/16 Javascript
python实现根据月份和日期得到星座的方法
2015/03/27 Python
Python中常用的内置方法
2019/01/28 Python
python发送多人邮件没有展示收件人问题的解决方法
2019/06/21 Python
使用PyCharm进行远程开发和调试的实现
2019/11/04 Python
基于opencv的selenium滑动验证码的实现
2020/07/24 Python
python re.match()用法相关示例
2021/01/27 Python
HTML5 Canvas中使用路径描画二阶、三阶贝塞尔曲线
2015/01/01 HTML / CSS
美国山地自行车、露营、户外装备和服装购物网站:Aventuron
2018/05/05 全球购物
Travelstart沙特阿拉伯:廉价航班、豪华酒店和实惠的汽车租赁优惠
2019/04/06 全球购物
一道Delphi面试题
2016/10/28 面试题
无故旷工检讨书
2014/01/26 职场文书
教堂婚礼主持词
2014/03/14 职场文书
活动总结新闻稿
2014/08/30 职场文书
绿色校园广播稿
2014/10/13 职场文书
网吧员工管理制度
2015/08/05 职场文书
祝福语集锦:朋友新店开业祝福语
2019/12/10 职场文书
python之PySide2安装使用及QT Designer UI设计案例教程
2021/07/26 Python
Nginx禁止ip访问或非法域名访问
2022/04/07 Servers