《selenium2 python 自动化测试实战》(15)——调用js控制滚动条等操作
看代码:
# coding=utf-8
from time import sleep
from selenium import webdriverdriver = webdriver.Firefox()
driver.maximize_window()
driver.implicitly_wait(6)
driver.get("https://tieba.baidu.com/index.html")
sleep(1)
# 用目标元素参考去拖动
target_elem = driver.find_element_by_link_text("地区")js= 'arguments[0].scrollIntoView();'
driver.execute_script(js, target_elem)
# 弹出框
driver.execute_script("window.alert('弹出框');")sleep(2)
driver.switch_to.alert.accept()
sleep(2)
# 拉到页面顶部
js1 = 'document.documentElement.scrollTop=0'
driver.execute_script(js1)sleep(2)
# 拉到页面底部
js2 = 'document.documentElement.scrollTop=10000'
driver.execute_script(js2)
解释:
我们平时操作页面可能会遇到需要下拉滚动条的情况,这里给大家的方法是下拉到我们定位到的文字位置,进行这个操作后“运动”的位置会被拉到页面最上面,也就是说页面会显示从“运动”开始往下的页面(解释不清楚,自己运行看一下就知道了)
另一个就是页面拉到顶端和低端的位置。
两个方法都是经过测试没有问题的。我加那么多sleep是为了让大家看清楚,自己写的时候没必要写那么多sleep,因为自动化测试不用人为去看。
代码里面的三个js语句就是js语句了,还有弹出框那个也是。如果不明白什么意思,说实话,我也不知道,但是我就是会用,所以大家也不必纠结到底是怎么回事,只要知道这东西就要求这么写就可以了,接下来我们还会继续介绍一些,只要你真正的写三五遍,你自然就知道该怎么写了,还是我之前说的,这些东西都是死的,就是这个用法,记住就行了或者说当你需要用的时候可以写出来就够了。拖动滚动条还有很多方法,我也懒得学那么多,对我来说这一个就够用了,如果想学其他的方式可以去百度,大把大把的方式,不过还是告诉大家,方式不在多,会用、可以解决实际需求就好。
微信公众号搜索“自动化测试实战”或扫描下方二维码添加关注~~~
《selenium2 python 自动化测试实战》(15)——调用js控制滚动条等操作的更多相关文章
- selenium2 python自动化测试实战(回归测试)
selenium2 python自动化测试实战 最近接手商城的项目,针对后台测试,功能比较简单,但是流程比较繁多,涉及到前后台的交叉测试.在对整个项目进行第一轮测试完成之后,考虑以后回归测试任务比较重 ...
- 船长带你看书——《selenium2 python 自动化测试实战》(1)
有很多selenium的教程,你没有从头看,当你看的时候已经很难跟上作者的节奏了.现在,你有机会再从头学一次了.从今天开始,船长会从最基本的知识开始,和大家一起学selenium.能不能跟着一起就看大 ...
- 《selenium2 python 自动化测试实战》(16)——js操作补充
js修改readonly属性 我们看到这里日期框标签中有readonly属性,如果我们直接send_keys就无法输入内容,这时我们需要先去掉readonly属性: js ='document.get ...
- Selenium2+Python自动化测试实战
本人在网上查找了很多做自动化的教程和实例,偶然的一个机会接触到了selenium,觉得非常好用.后来就在网上查阅各种selenium的教程,但是网上的东西真的是太多了,以至于很多东西参考完后无法系统的 ...
- 《selenium2 python 自动化测试实战》(6)——打印信息和设置等待时间
打印信息经常用的有两个: # coding: utf-8 from selenium import webdriver driver = webdriver.Firefox() driver.get( ...
- 《selenium2 python 自动化测试实战》(4)——鼠标事件
鼠标事件包含在ActionChains类中,导入时只需要: from selenium.webdriver.common.action_chains import ActionChains 导入类即可 ...
- 《selenium2 python 自动化测试实战》(20)——Selenium工具介绍
(一)Selenium IDE Firefox的一个插件,有助于我们理解测试框架.在附加组件里搜索下载,一般搜的结果里前几个都不是,得点那个查看更多才行,找到这个: 安装以后浏览器工具栏会有: 安装好 ...
- 《selenium2 python 自动化测试实战》(19)——webdriver错误截图
webdriver 提供错误截图函数 get_screenshot_as_file(),可以帮助我们跟踪 bug,在脚本无法继续执行时候, get_screenshot_as_file()函数将截取当 ...
- 《selenium2 python 自动化测试实战》(18)——自动化测试模型(一)
线性测试 已经被淘汰了:线性测试就是一个脚本完成一个场景,代码基本没有复用,每一个脚本都要从头开始写——这哪行. 模块化与类库 这个就是分模块:有点类似面系那个对象,把功能(比如登录)单独拿出来,当下 ...
随机推荐
- webpack入门配置
webpack入门配置 根据该篇文章进行配置: 入门 Webpack,看这篇就够了 其中由于版本更新的问题会出现几个问题: 1.Would you like to install webpack-cl ...
- linux正则表达式回忆记录
好久没用linux grep相关正则表达式,现在简单记录下. grep简介 grep 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.通常grep有三种版本grep.egr ...
- 分布式缓存集群方案特性使用场景(Memcache/Redis(Twemproxy/Codis/Redis-cluster))优缺点对比及选型
分布式缓存集群方案特性使用场景(Memcache/Redis(Twemproxy/Codis/Redis-cluster))优缺点对比及选型 分布式缓存特性: 1) 高性能:当传统数据库面临大规模 ...
- Kafka、RabbitMQ、RocketMQ、ActiveMQ 17 个方面综合对比
本文将从,Kafka.RabbitMQ.ZeroMQ.RocketMQ.ActiveMQ 17 个方面综合对比作为消息队列使用时的差异.(欢迎加入Java程序员群:630441304,一起学习交流会) ...
- Vue实例的生命周期created和mounted的区别
生命周期先上图 什么是生命周期 Vue实例有一个完整的生命周期,也就是从开始创建.初始化数据.编译模板.挂载Dom.渲染→更新→渲染.卸载等一系列过程,我们称这是Vue的生命周期.通俗说就是Vue实例 ...
- Gruntjs提高生产力(二)
摆脱混乱的html文件中开发,拥有development与product模式是我们梦寐以求的. 我买的需求是: 1.产出一定格式的目录结构,以供日常开发使用,脚手架功能. 2.在开发模式环境中我们按照 ...
- word2016_统计字数
统计字数 审阅->字数统计
- Ubuntu 下Python 环境问题
问题描述: 原先使用Anaconda环境,若卸载后仍不能恢复到系统默认的Python环境. 解决方案: shell 寻找缓存路径,python的扩展/home/tom/anaconda/bin/pyt ...
- vuejs绑定img 的src
1.显示本地图片: <img src="../../common/images/auth-icon.png" /> 2.绑定变量: <img class=&q ...
- shiro:10个过滤器;10个jsp标签;5个@注解
10个过滤器 过滤器简称 对应的java类 anon org.apache.shiro.web.filter.authc.AnonymousFilter authc org.apache.shiro. ...