《selenium2 python 自动化测试实战》(15)——调用js控制滚动条等操作
看代码:
# coding=utf-8
from time import sleep
from selenium import webdriver
driver = 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)——自动化测试模型(一)
线性测试 已经被淘汰了:线性测试就是一个脚本完成一个场景,代码基本没有复用,每一个脚本都要从头开始写——这哪行. 模块化与类库 这个就是分模块:有点类似面系那个对象,把功能(比如登录)单独拿出来,当下 ...
随机推荐
- mac下搭建eclipse+git环境并导入项目
首先官网下载eclipse,然后安装,选择eclipse for java developer. 安装git插件:eclipse-help-install new software-add name随 ...
- C++ 知识点积累---待整理
- Chrome自动化搭建
工具安装: 1.selenium-java-2.53.0-srcs.jar 2.selenium-java-2.53.0.jar 3.下载chromedriver.exe(下载地址:http://ch ...
- linux exec和xargs的区别
-exec 1.参数是一个一个传递的,传递一个参数执行一次,效率低 2.文件名有空格等特殊字符也能处理 -xargs 1.一次将参数传给命令,可以使用-n控制参数个数 ...
- StringUtils.isNumeric()的特殊点
String str = "-1"; StringUtils.isNumeric(str) 返回的是false StringUtils.isNumeric()方法在判断字符串是否是 ...
- Java多态性的理解2
多态的基础理解请参考:http://www.cnblogs.com/liujinhong/p/6003144.html Java的多态一直是我们理解的一个难点.在读过<深入理解Java虚拟机&g ...
- 使用jQuery插件jRemoteValidate进行远程ajax验证,可以自定义返回的信息
最近项目中有一个业务是收银员通过输入用户卡号,给用户充值或者消费,但是为了避免误操作(如卡号输错),于是编写了一个远程验证的jQuery插件, 当收银员输入卡号后,失去焦点,立即ajax请求服务器端, ...
- linux-Centos7安装php
先安装相关依赖包 yum install pcre pcre-devel zlib zlib-devel openssl openssl-devel gd gd-devel libjpeg libjp ...
- CentOS7 LDAP 2.4 安装配置
软件安装 # yum -y install openldap-servers openldap-clients # systemctl start slapd # systemctl enable s ...
- leetcode 849. Maximize Distance to Closest Person
In a row of seats, 1 represents a person sitting in that seat, and 0 represents that the seat is emp ...