目的:

(1)滑动页面的滚动条到页面最下方

(2)滑动页面的滚动条到页面某个元素

(3)滑动页面的滚动条向下移动某个数量的像素

测试的网址:

http://www.seleniumhq.org/

代码如下:

from selenium import webdriver
import unittest
import traceback #导入堆栈类
import time class TestDemo(unittest.TestCase): def setUp(self):
#启动Chrome浏览器
self.driver = webdriver.Chrome()
self.driver.implicitly_wait(30) def test_scroll(self):
url = "http://www.seleniumhq.com/"
#访问selenium官网首页
self.driver.get(url)
try:
#使用JavaScript的scrollTo函数和document.body.scrollHeight参数
#将页面的滚动条滑动到页面的最下方
self.driver.execute_script("window.scrollTo(100, document.body.scrollHeight);")
#停顿5秒用于验证滚动条是否滑动到指定位置
time.sleep(5) #使用JavaScript的scrollIntoView函数将被遮挡的元素滚动到可见屏幕上
#scrollIntoView(true)表示将元素滚动屏幕中间
#scrollIntoView(false)表示将元素滚动到屏幕底部
self.driver.execute_script("document.getElementById('choice').scrollIntoView(true);")
#停顿5秒用于验证滚动条是否滑动到指定位置
time.sleep(5) #使用JavaScript的scrollBy方法,使用0和400横坐标参数
self.driver.execute_script("window.scrollBy(0,400);")
#停顿5秒用于验证滚动条是否滑动到指定位置
time.sleep(3)
except Exception as e:
#打印异常堆栈信息
print(traceback.print_exc()) def tearDown(self):
#退出Chrome浏览器
self.driver.quit() if __name__ == '__main__':
unittest.main()

WebDriver高级应用——操作Web页面的滚动条的更多相关文章

  1. Python3 Selenium自动化web测试 ==> 第六节 WebDriver高级应用 -- 操作web页面的滚动条

    学习目的: 掌握页面元素定位以外的其他重要知识点. 正式步骤: 测试Python3代码 # -*- coding:utf-8 -*- from selenium import webdriver fr ...

  2. selenium怎么操作web页面常见的元素

    总结一下selenium怎么操作web页面常见的元素. 主要有: 上传 alter dialog prompt dialog confirm dialog select list radio box ...

  3. Python3 Selenium自动化web测试 ==> 第九节 WebDriver高级应用 -- 操作select 和 alert

    学习目的: 掌握页面常规元素的定位方法 场景: 网页正常的select元素下拉框常规方法和select专属方法 正式步骤: step1:常规思路select页面元素定位 处理HTML代码截图 # -* ...

  4. Java selenium web页面的滚动条操作

    摘录自:http://blog.csdn.net/iceryan/article/details/8162703 //移动到元素element对象的"顶端"与当前窗口的" ...

  5. webdriver高级应用- 操作富文本框

    富文本框的技术实现和普通的文本框的定位存在较大的区别,富文本框的常见技术用到了Frame标签,并且在Frame里面实现了一个完整的HTML网页结构,所以使用普通的定位模式将无法直接定位到富文本框对象. ...

  6. webdriver高级应用- 操作日期控件

    1. 通过点击的方式操作日期控件 #encoding=utf-8 from selenium import webdriver import unittest, time, traceback fro ...

  7. webdriver高级应用- 改变一个页面对象的属性值

    适用于一些无法操作的元素,可以直接改他的属性从而操作,代码如下: #encoding=utf-8 from selenium import webdriver import unittest impo ...

  8. webdriver高级应用- 精确比较页面截图图片

    判断两张图是否完全一致,如果存在任何不一致,会认为图片不匹配,代码如下: #encoding=utf-8 from selenium import webdriver import unittest, ...

  9. WebDriver高级应用实例(4)

    4.1操作web页面的滚动条 被测网页的网址: http://v.sogou.com Java语言版本的API实例代码 import org.testng.annotations.Test; impo ...

随机推荐

  1. Spring Cloud 入门 之 Eureka 篇(一)

    原文地址:Spring Cloud 入门 之 Eureka 篇(一) 博客地址:http://www.extlight.com 一.前言 Spring Cloud 是一系列框架的有序集合.它利用 Sp ...

  2. Phonegap 自定义插件

    一.PhoneGap中js与Java之间相互调用分为同步和异步两种方式 1.同步:js调用Java类的方法,然后Java类的方法直接返回一个值给js端 2.异步:js调用Java类的方法,Java类的 ...

  3. Tomcat 7 的七大新特性(更容易将Tomcat内嵌到应用去中去 )

    Tomcat的7引入了许多新功能,并对现有功能进行了增强.很多文章列出了Tomcat 7的新功能,但大多数并没有详细解释它们,或指出它们的不足,或提供代码示例.本文将明确描述TOMCAT 7中七个最显 ...

  4. PLSQL在64位 win7/WIN8上运行(绿色版plsql、无需安装oracle客户端)

    一.准备需要的文件: 1.plsql文件绿色压缩包 2.oracle客户端文件绿色压缩包 二.设置PLSQL 运行plsql,不登陆进入plsql点“工具”-“首选项” 按照如图设置“ oracle主 ...

  5. SQL2008如何清空压缩数据库日志

    SQL2008如何清空压缩数据库日志 编写人:左丘文 2015-4-10 近期在给一系统初始化资料时,不断的导入导出,因此一不小心,就将数据的SQL(sql2008R2)的是日志档弄得比数据库还大,给 ...

  6. Python链表与反链表

    # -*- coding:utf8 -*- #/usr/bin/env python class Node(object): def __init__(self, data, pnext = None ...

  7. [置顶] Ubuntu16.04+opencv3.3.0的安装配置说明

    系统环境:  Linux Ubuntu 16.04  [GCC 5.4.0 20160609] on linux2 之前的教程中我们已经安装了做机器学习需要使用的框架TensorFlow,笔者本科阶段 ...

  8. 存在继承关系的Java类对象之间的类型转换(一)

      类似于基本数据类型之间的强制类型转换. 存在继承关系的父类对象和子类对象之间也可以 在一定条件之下相互转换. 这种转换需要遵守以下原则: 1.子类对象可以被视为是其父类的一个对象2.父类对象不能被 ...

  9. SQL常用条件操作符

    1.SQL的六类内容: (1)数据定义语言(DDL): 创建.删除表结构的语句,包括Create.Drop (2)数据控制语言(DCL): 为定义数据访问及修改权限而实现的语句,包括Grant.Rev ...

  10. jeesite快速开发平台(七)----代码生成原理

    转自:https://blog.csdn.net/u011781521/article/details/79322942