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基本语法经典教程
Mar 11 Python
Python内置函数OCT详解
Nov 09 Python
Python语言描述最大连续子序列和
Dec 05 Python
pandas groupby 分组取每组的前几行记录方法
Apr 20 Python
在python win系统下 打开TXT文件的实例
Apr 29 Python
使用Django简单编写一个XSS平台的方法步骤
Mar 25 Python
Python之修改图片像素值的方法
Jul 03 Python
在python中画正态分布图像的实例
Jul 08 Python
python 实现手机自动拨打电话的方法(通话压力测试)
Aug 08 Python
python3实现将json对象存入Redis以及数据的导入导出
Jul 16 Python
python爬取代理IP并进行有效的IP测试实现
Oct 09 Python
分享python函数常见关键字
Apr 26 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批量生成静态HTML的简单原理和方法
2014/04/20 PHP
ThinkPHP静态缓存简单配置和使用方法详解
2016/03/23 PHP
PHP实现防盗链的方法分析
2017/07/25 PHP
javascript动画浅析
2012/08/30 Javascript
Javascript操作cookie的函数代码
2012/10/03 Javascript
js substr支持中文截取函数代码(中文是双字节)
2013/04/17 Javascript
javascript闭包的高级使用方法实例
2013/07/04 Javascript
JQuery实现倒计时按钮具体方法
2013/11/14 Javascript
js 通用订单代码
2013/12/23 Javascript
js使用DOM设置单选按钮、复选框及下拉菜单的方法
2015/01/20 Javascript
JavaScript 数组some()和filter()的用法及区别
2016/05/20 Javascript
javascript创建含数字字母的随机字符串方法总结
2016/08/01 Javascript
Angularjs 实现分页功能及示例代码
2016/09/14 Javascript
AngularJS中指令的四种基本形式实例分析
2016/11/22 Javascript
微信小程序 ES6Promise.all批量上传文件实现代码
2017/04/14 Javascript
JavaScript基于activexobject连接远程数据库SQL Server 2014的方法
2017/07/12 Javascript
基于JavaScript实现抽奖系统
2018/01/16 Javascript
angular ng-model 无法获取值的处理方法
2018/10/02 Javascript
angular4中引入echarts的方法示例
2019/01/29 Javascript
基于Vue 撸一个指令实现拖拽功能
2019/10/09 Javascript
Python入门_浅谈for循环、while循环
2017/05/16 Python
Windows下python3.6.4安装教程
2018/07/31 Python
Python使用random.shuffle()打乱列表顺序的方法
2018/11/08 Python
python实现任意位置文件分割的实例
2018/12/14 Python
Flask框架中request、请求钩子、上下文用法分析
2019/07/23 Python
PyQt 图解Qt Designer工具的使用方法
2019/08/06 Python
python pandas.DataFrame.loc函数使用详解
2020/03/26 Python
python tkiner实现 一个小小的图片翻页功能的示例代码
2020/06/24 Python
如何Tkinter模块编写Python图形界面
2020/10/14 Python
Expedia意大利旅游网站:酒店、机票和租车预订
2017/10/30 全球购物
什么是SQL Server的确定性函数和不确定性函数
2016/08/04 面试题
毕业生个人求职的自我评价
2013/10/28 职场文书
大学毕业感言50字
2014/02/07 职场文书
国家奖学金获奖感言
2014/08/16 职场文书
做一个有道德的人活动方案
2014/08/25 职场文书
股东合作协议书模板2篇
2019/11/05 职场文书