目的:
(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()
Python3 Selenium自动化web测试 ==>; 第六节 WebDriver高级应用 -- 操作web页面的滚动条
学习目的: 掌握页面元素定位以外的其他重要知识点. 正式步骤: 测试Python3代码 # -*- coding:utf-8 -*- from selenium import webdriver fr ...
selenium怎么操作web页面常见的元素
总结一下selenium怎么操作web页面常见的元素. 主要有: 上传 alter dialog prompt dialog confirm dialog select list radio box ...
Python3 Selenium自动化web测试 ==>; 第九节 WebDriver高级应用 -- 操作select 和 alert
学习目的: 掌握页面常规元素的定位方法 场景: 网页正常的select元素下拉框常规方法和select专属方法 正式步骤: step1:常规思路select页面元素定位 处理HTML代码截图 # -* ...
Java selenium web页面的滚动条操作
摘录自:http://blog.csdn.net/iceryan/article/details/8162703 //移动到元素element对象的"顶端"与当前窗口的" ...
webdriver高级应用- 操作富文本框
富文本框的技术实现和普通的文本框的定位存在较大的区别,富文本框的常见技术用到了Frame标签,并且在Frame里面实现了一个完整的HTML网页结构,所以使用普通的定位模式将无法直接定位到富文本框对象. ...
webdriver高级应用- 操作日期控件
1. 通过点击的方式操作日期控件 #encoding=utf-8 from selenium import webdriver import unittest, time, traceback fro ...
webdriver高级应用- 改变一个页面对象的属性值
适用于一些无法操作的元素,可以直接改他的属性从而操作,代码如下: #encoding=utf-8 from selenium import webdriver import unittest impo ...
webdriver高级应用- 精确比较页面截图图片
判断两张图是否完全一致,如果存在任何不一致,会认为图片不匹配,代码如下: #encoding=utf-8 from selenium import webdriver import unittest, ...
WebDriver高级应用实例(4)
4.1操作web页面的滚动条 被测网页的网址: http://v.sogou.com Java语言版本的API实例代码 import org.testng.annotations.Test; impo ...
随机推荐
java 基础二 Graphics类
一.处理图形 1.画直线 void drawLine (int startx , int starty , int endx , int endy) 参数列表:直线开始的横坐标.纵坐标,直线结束的横坐 ...
【转】解决Delphi WebBrowser 无法调用当前浏览器的版本
procedure TregedtIE.FormCreate(Sender: TObject); begin WriteAppNameToReg; WebBrowser1.Navi ...
linux下删除文件夹的命令
使用rm -rf 目录名字 命令即可 -r 就是向下递归,不管有多少级目录,一并删除-f 就是直接强行删除,不作任何提示的意思 eg 删除文件夹实例:rm -rf /var/log/httpd/acc ...
ZOJ 3201 Tree of Tree
树形DP.... Tree of Tree Time Limit: 1 Second Memory Limit: 32768 KB You're given a tree with weig ...
Linux磁盘及文件系统管理
在LINUX中我们知道一个很重要的概念,那就是"一切皆文件",这里的一切表示所有在LINUX系统的对象,自然也包括了LINUX中的硬盘设备.在LINUX中所有设备都被抽象成一个文件 ...
使用APC缓存PHP opcode
1. 关于版本 我的php版本是5.3.10 最开始使用 APC-3.1.8 编译成功,但是 php -m 得不到扩展 , 换成 APC-3.1.9 后解决. 2. 关于配置 apc.cac ...
C++ UTF8 UrlEncode(宽字符)(转载)
转载:http://www.cnblogs.com/newcj/p/3645749.html #include "UrlEncode.h" #include
微信小程序合法域名配置-不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书
微信小程序合法域名配置-不校验合法域名.web-view(业务域名).TLS 版本以及 HTTPS 证书 很多教程说按照以上方式调用即可.但是当我们在程序中实际调用以上程序时,就会报错, http:/ ...
ZJOI2019 Day1游记
退役吧垃圾 考的再烂还是要把自己捡起来 如果不想让自己的OI生涯就到这里止步的话 就给我滚去拿剩下的300分吧 浙江省前十六,学校前五,day1比别人差一百多分.如果这样还能进省队的话,我就成为传说了 ...
Jmeter分布测试
一.负载机为Linux Linux上安装Jmeter 1.Windows中jmeter整个安装目录copy至Linux /usr/local/autodeploy目录 ps.使用winSCP工具cop ...