在自动化测试的过程中,难免会应用到翻页键,但是webdriver提供的方法都是操作当前页面可见的元素,对于未在当前范围展示的翻页键,该如何操作呢?

小编在这里介绍一种方法:使用JavaScript操作浏览器的滚动条。

  • 制造含有滚动条的环境
#打开百度
driver=webdriver.Firefox()
driver.get("https://www.baidu.com/")
#搜索selenium,制造含有滚动条的环境
kw=driver.find_element_by_id("kw")
kw.send_keys("selenium")
su=driver.find_element_by_id("su")
su.click()

  • 操作滚动条
#拖动滚动条至底部
js1="document.documentElement.scrollTop=10000"
driver.execute_script(js1)
#拖动滚动条至顶部
js2="document.documentElement.scrollTop=0"
driver.execute_script(js2)

运行后就能操控滚动条在顶部和底部之间跳转了,scrollTop为0时,表示正哥页面的顶端,设置值为10000(大于等于整个页面的长度)时,就可以滚动到底部

上面展示的是上下方向的滚动条,接下来介绍左右方向的滚动条的操作方法

#左右方向的滚动条可以使用window.scrollTo(左边距,上边距)方法
#example
js="window.scrollTo(200,1000)"
driver.execute_script(js)

左边距和上边距的值可以自行设置

源码奉上,敬请指教

from selenium import webdriver
import time
#打开百度
driver=webdriver.Firefox()
driver.get("https://www.baidu.com/")
#搜索selenium,制造含有滚动条的环境
kw=driver.find_element_by_id("kw")
kw.send_keys("selenium")
su=driver.find_element_by_id("su")
su.click()
time.sleep(2) #拖动滚动条至底部
js1="document.documentElement.scrollTop=10000"
driver.execute_script(js1)
time.sleep(3) #拖动滚动条至顶部
js2="document.documentElement.scrollTop=0"
driver.execute_script(js2)
time.sleep(3) driver.quit() '''
#左右方向的滚动条可以使用window.scrollTo(左边距,上边距)方法
#example
js="window.scrollTo(200,1000)"
driver.execute_script(js)
'''

Scroll

selenium——操作滚动条的更多相关文章

  1. selenium操作滚动条的几种方式

    1.操作滚动条到当前可见视图的元素位置 WebElement element = dr.findElement(By.id("4")); ((JavascriptExecutor) ...

  2. selenium操作滚动条方法

    /***  滚动条滚到最下方,和滚到指定位置*/@Test(priority =1 )    public void scrollingToBottomo(){        //使用JavaScri ...

  3. Selenium操作滚动条

    //移动到元素element对象的“顶端”与当前窗口的“顶部”对齐 ((JavascriptExecutor) driver).executeScript("arguments[0].scr ...

  4. 『心善渊』Selenium3.0基础 — 17、Selenium操作浏览器窗口的滚动条

    目录 1.为什么操作滚动条 2.Selenium如何操作滚动条 3.Selenium操作滚动条方法 4.操作滚动条示例 5.下拉至聚焦元素的位置 (1)实现步骤: (2)实现示例: 1.为什么操作滚动 ...

  5. selenium操作下拉滚动条的几种方法

    数据采集中,经常遇到动态加载的数据,我们经常使用selenium模拟浏览器操作,需要多次下拉刷新页面才能采集到所有的数据,就此总结了几种selenium操作下拉滚动条的几种方法 我这里演示的是Java ...

  6. 记录selenium操作

    # -*- coding: utf-8 -*- # coding:utf-8 必须在第一行才能支持中文注释 #!/usr/bin/python # android-build.py # Build a ...

  7. webdriver-js操作滚动条

    webdriver-js操作滚动条 1.      webdriver高级应用-js操作滚动条 1.滑动页面的滚动条到页面最下面 2.滑动页面的滚动条到页面的某个元素 3.滑动页面的滚动条向下移动某个 ...

  8. [Python爬虫]使用Selenium操作浏览器订购火车票

    这个专题主要说的是Python在爬虫方面的应用,包括爬取和处理部分 [Python爬虫]使用Python爬取动态网页-腾讯动漫(Selenium) [Python爬虫]使用Python爬取静态网页-斗 ...

  9. 每次用 selenium 操作浏览器都还原了 (比如没有浏览器历史记录)

    每次用 selenium 操作浏览器都还原了 (比如没有浏览器历史记录)

随机推荐

  1. poj2385【基础DP】

    挑战DP 题意: 有两棵树,给每分钟有苹果掉落的苹果树,一开始B在 1 树下,B最多只能移动W步,求一个最大数量拿到的. 思路: 一开始想的是,我对于每分钟情况来说无非是等于之前的在本位置+1,或者等 ...

  2. WPS Office 2019 for Linux来了

    难得啊,焕然一新. WPS Office 2019 For Linux更新说明 11.1.0.8392 版本主要更新: 修复wpsoffice进程存在时不能关机的问题 修复WPS文字模块web版式下拖 ...

  3. 关于 typedef struct 和 struct

    举个例子说明:typedef struct abc{ int x; int y; int z;}ABC;是将结构体abc类型重新起个名字为ABC,以后再定义同一类型的变量时,可以写成:ABC m,n; ...

  4. 复习Java和前端、后端框架等。

    以下便是我开始复习时做的笔记.

  5. 动手实现 Redux(四):共享结构的对象提高性能

    接下来两节某些地方可能会稍微有一点点抽象,但是我会尽可能用简单的方式进行讲解.如果你觉得理解起来有点困难,可以把这几节多读多理解几遍,其实我们一路走来都是符合“逻辑”的,都是发现问题.思考问题.优化代 ...

  6. Properties没有被注意的地方

    源起: 今天阅读源码时发现一个地方不理解: 为什么以下代码第10行 get() 之后value为null时还去 getProperty() 呢? org.springframework.util.Co ...

  7. 序列化shelve模块

    1.shelve对pickle进行封装,所以shelve也只能在python里使用. shelve可以进行多次dump而且顺序不会乱. import shelve f = shelve.open('s ...

  8. 【学习笔记】深入理解js原型和闭包(2)——函数和对象的关系

    上文(深入理解jS原型和闭包(1)——一切都是对象)已经提到,函数就是对象的一种,因为通过instanceof函数可以判断. var fn = function () { }; console.log ...

  9. git 配置免密上传,配置ssh key

    1.windows 打开git bash 控制台,linux 直接打开命令控制台,输入 ssh-keygen 一直enter 下一步 2.生成的文件windows 存放在c://users 路径下,l ...

  10. mysql use index() 优化查询

    mysql use index() 优化查询 FORCE INDEX/IGNORE INDEX 的语法: SELECT *** FROM TABLE [{USE|IGNORE|FORCE} INDEX ...