Selenium 滚动页面至元素可见的方法
作者:落晨 发布时间:2022-06-01 14:01:05
标签:Selenium,滚动页面,元素可见
滚动页面
在自动化操作中,如果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()
来源:https://www.cnblogs.com/wilson-5133/p/10996810.html


猜你喜欢
- Python 列表(list):1.序列介绍: 序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引
- 随滚动条移动的DIV层js代码,无论你的滚动条到哪里这个DIV层就跟到哪里!代码中例举了五个方向的滚动div层例子:包括左上方的div,左下
- 一、 笛卡尔积笛卡尔积是指在数学中,两个集合X和Y的笛卡尓积(Cartesian product),又称直积,表示为X ×
- 跟着趣味开发python一起实现的弹球小游戏游戏运行效果实现流程1.创建游戏画布(创建ball类)2.增加几个动作(让小球移动、让小球来回反
- 本文实例讲述了PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作。分享给大家供大家参考,具体如下:在PHP中,会遇到这样的情况,子类
- 技术背景GPU的加速技术在深度学习、量子计算领域都已经被广泛的应用。其适用的计算模型是小内存的密集型计算场景,如果计算的模型内存较大,则需要
- 开发时,通常打开Debug模式会快速定位开发时的一些问题。项目开始部署时,关闭Debug模式,url.py路由静态文件和图片写法:# url
- [mysql]replace的用法(替换某字段部分内容)[mysql]replace的用法1.replace into  
- 输入汉字提示拼音,试试下面这个函数,不知是不是你要的那个:查询汉字便宜到词典网<%function getpychar(ch
- 本文实例讲述了python获取图片颜色信息的方法。分享给大家供大家参考。具体分析如下:python的pil模块可以从图片获得图片每个像素点的
- 说起元宵节,各位有没有觉得这是咱们中国人最浪漫的节日呢?国人向来拘谨古板,一年到头都是小心谨慎地过日子,唯有元宵节这天可以纵情豪放一把。东风
- 前言使用面向对象编程思想完成学员管理系统的开发,具体如下:系统要求:使用面向对象的方法系统功能:添加学员、删除学员、修改学员信息、查询学员信
- 一、在for循环中直接更改列表中元素的值不会起作用:如:l = list(range(10)[::2]) print (l)for n in
- 本文主要给大家介绍了关于webpack中publicPath路径问题的相关内容,分享出来供大家参考学习,下面来看看详细的介绍:output:
- 实现SQL Server 原生数据从XML生成JSON数据的实例代码 SQL Server 是关系数据库,查询结果通
- 一、介绍argparse 模块可以让人轻松编写用户友好的命令行接口。程序定义它需要的参数,然后 argparse 将弄清如何从 sys.ar
- 数据准备moduls.py# 构建表结构from django.db import models# 表app01_publishclass
- 前言:我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式。同时数据库又是个高并发的应用,同一时间会
- 1. 前言分形几何是几何数学中的一个分支,也称大自然几何学,由著名数学家本华曼德勃罗( 法语:BenoitB.Mandelbrot)在 19
- 一、介绍正则表达式是一个特殊的字符序列,计算机科学的一个概念。通常被用来检索、替换那些符合某个模式(规则)的文本。许多程序设计语言都支持利用