selenium滚动条】的更多相关文章

Selenium操作滚动条有两种方法,一种就是window.scrollTo,另一种是window.scrollBy,既然两个都可以用来操作滚动条,那这两个方法有什么区别呢? 1.window.scrollTo 定义和用法 scrollTo() 方法可把内容滚动到指定的坐标. 语法 scrollTo(xpos,ypos) 参数 描述 xpos 必需.要在窗口文档显示区左上角显示的文档的 x 坐标. ypos 必需.要在窗口文档显示区左上角显示的文档的 y 坐标. 2.window.scrollB…
在我们使用Python + selenium 爬虫的时候,会遇到如下报错,原因是  当页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接定位到,会报元素不可见的. selenium.common.exceptions.WebDriverException: Message: unknown error: Element , ) 这时候需要借助滚动条来拖动屏幕,使被操作的元素显示在当前的屏幕上.滚动条是无法直接用定位工具来定位的.selenium里面也没有直接的方法去控制滚动条, 这时候只能…
转自:http://www.cnblogs.com/fnng/p/3256563.html 本节重点: 控制滚动条到底部 有时候我们需要控制页面滚动条上的滚动条,但滚动条并非页面上的元素,这个时候就需要借助js是来进行操作.一般用到操作滚动条的会两个场景: 注册时的法律条文需要阅读,判断用户是否阅读的标准是:滚动条是否拉到最下方. 要操作的页面元素不在吸视范围,无法进行操作,需要拖动滚动条 其实,实现这个功能只要一行代码,但由于不懂js ,所以花了不小力气找到这种方法. 用于标识滚动条位置的代码…
selenium中没有直接控制滚动条的方法,可以使用方法:execute_script(),可以直接执行js的脚本. 一.竖向滚动条控制,三种方法总有一款适合你. 1.滚动条拉到最底: js="var q=document.documentElement.scrollTop=10000" driver.execute_script(js) 2.滚动条拉到最底: js="var q=document.getElementById('id').scrollTop=10000&qu…
element = self.brower.find_element_by_id('xxx')brower.execute_script('arguments[0].scrollIntoView();', element)让滚动条滚动到element的位置…
前言 一般我们想到的必须使用滚动条的场景是:注册时的法律条文的阅读.判断用户是否阅读完的标准是:滚动条是否拉到页面底部.当然,有时候为使操作更接近用户行为也会使用滚动条,例如用户要操作的元素在页面的第二屏,一般用户不会对看不到的元素进行操作,那么就需要先将滚动条拖动到页面的第二屏再进行操作. window.scrollTo(x,y)方法用于设置浏览器窗口滚动条的水平和垂直位置.方法的第一个参数x表示水平的左间距,第二个参数y表示垂直的上边距. 一般浏览器自带的滚动条会随着操作的页面元素所在位置而…
如果是一个页面自带的滚动条(即网页的的滚动条) 可直接用js js="window.scrollTo(x,y);"     x(横向),y(纵向)代表的就是位置  ,具体移动到哪里根据设置的x,y来决定    如果想要将其滑动条拉倒最后将x和y设置成足够大就行  例如 (10000,10000) driver.execute_script(js) 如果不是window滚动条,是内嵌滚动条: 例如是在一个表单中的 我们可以先定位一个元素,这个元素是需要拖动滚动条的(就是这个元素是要在拖到…
from selenium import webdriver class Lj(object): def __init__(self): self.driver = webdriver.Chrome() url = 'http://www.99lib.net/book/1222/34747.htm' self.driver.get(url) self.driver.maximize_window() self.driver.implicitly_wait(10) # 获取标题 def get_t…
方法原理:     (1)使用jQuery CSS 操作 - scrollTop() 方法,设置 <div> 元素中滚动条的垂直偏移,语法:$(selector).scrollTop(offset): (2)若要控制滚动条水平偏移,请使用方法scrollLeft(),语法:$(selector).scrollLeft(offset): 其中selector表示选择器,offset表示偏移量.    样例页面MyJsp.jsp: <%@ page language="java&q…
日常的 Web UI 自动化测试过程中,get 或 navigate 到指定的页面后,若想截图的元素或者指定区域范围不在浏览器的显示区域内,则通过截屏则无法获取相应的信息,反而浪费了无畏的图片服务器资源,当然,最重要的还是未能达到自己的预期,是不是很内伤啊.此时,我们就不得不像正常用户操作一样,通过滚动页面至相应的区域,那么该如何滚动呢,此文就此给出答案. 此文实现的页面滚动,是通过 js 操作实现的,敬请各位小主参阅.若有不足之处,敬请大神指正,非常感谢! 直接上码了...... /** *…
在用selenium做测试时,会遇到需要操作的元素不在当前可视页面中的情况,如果是手工测试,自然很简单,手动拖拽滚动条到目标元素处即可. 那么,selenium如何实现这种情形呢?答案是需要借助Javascript. Java代码如下: 1 WebElement target = driver.findElement(By.xpath(xPathExpression)); 2 ((JavascriptExecutor) driver).executeScript("arguments[0].sc…
#!/usr/bin/python# -*- coding: utf-8 -*-__author__ = 'zuoanvip' #一般用到操作滚动条的两个场景    #注册时的法律条文的阅读,判断用户是否阅读完成的标准是:滚动条是否拉到最下方    #要操作的页面元素不在视觉范围,无法进行操作,需要拖动滚动条    #用于标识滚动条位置的代码        #<body onload="document.body.scrollTop=0">        #<body…
虽然webdriver提供了操作浏览器的前进和后退的方法,但对于浏览器滚动条并没有提供相应的操作方法,以下使用的方法: 借助JavaScript来控制浏览器的滚动条,webdriver提供了execute_script()方法来执行JavaScript代码. 其实我们操作滚动条一般使用的场景:注册时的法律条文的阅读: <!--window.scrollTo(左边距,右边距):--> window.srollTo(0,650); window.scrollTo()方法用于设置浏览器窗口滚动条的水…
说明: 在做selenium webdriver  在做UI 自动化时,有些页面时使用懒加载的形式显示页面图片,如果在不向下移动滚动条时,获取到的图片会是网站的默认图片和真实的图片不相符. 所以研究了下如何去移动页面滚动条 通过度娘搜索网上的解决方法 方法一.  ------- 在我这没有成功,不知道是否和我使用chrome 有关 #将页面滚动条移动到页面任意位置,改变等于号后的数值即可 js="var q=document.documentElement.scrollTop=50"…
1. 执行js脚本 控制滚动条 # http://www.cnblogs.com/yoyoketang/p/6128655.html In [347]: js = "window.scrollTo(document.body.scrollWidth,document.body.scrollHeight)" #/2中间 In [348]: driver.execute_script(js) driver.execute_script("window.scrollTo(0,0)&…
senium做自动化测试的过程中,有的页面需要下拉滚动条才能全部加载完成,否则加载不出来就定位不到想要的元素. 参考链接:http://www.cnblogs.com/landhu/p/5761794.html 摘抄如下: 在python中有几种方法解决这种问题,简单介绍下,给需要的人: 方法一)使用js脚本直接操作,方法如下: js="var q=document.getElementById('id').scrollTop=10000" driver.execute_script(…
js2 = "window.scrollTo(0,0);" #括号中为坐标 当不知道需要的滚动的坐标大小时: weizhi2 = driver.find_element_by_id("goldLeaseApp_bClientID") #先定位到一个元素 driver.execute_script("arguments[0].scrollIntoView();", weizhi2) #让其滚动到这个坐标 arguments[0].scrollInt…
摘自https://www.cnblogs.com/sanzangTst/p/7692285.html 前言 什么是JS? JS就是JavaScript: JavaScript 是世界上最流行的脚本语言: JavaScript 是属于 web 的语言,它适用于 PC.笔记本电脑.平板电脑和移动电话: JavaScript 被设计为向 HTML 页面增加交互性: 许多 HTML 开发者都不是程序员,但是 JavaScript 却拥有非常简单的语法.几乎每个人都有能力将小的 JavaScript 片…
前言 selenium并不是万能的,有时候页面上操作无法实现的,这时候就需要借助JS来完成了. 常见场景: 当页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接定位到,会报元素不可见的. 这时候需要借助滚动条来拖动屏幕,使被操作的元素显示在当前的屏幕上. 滚动条是无法直接用定位工具来定位的.selenium里面也没有直接的方法去控制滚动条, 这时候只能借助J了,还好selenium提供了一个操作js的方法: execute_script(),可以直接执行js的脚本. 一.JavaScrip…
UI自动化中经常会遇到元素识别不到,找不到的问题,原因有很多,比如不在iframe里,xpath或id写错了等等:但有一种是在当前显示的页面元素不可见,拖动下拉条后元素就出来了. 比如下面这样一个网页,需要进行拖动下拉条后才能通过selenium找到密码输入框的元素, 在python中有几种方法解决这种问题,简单介绍下,给需要的人: 方法一)使用js脚本直接操作,方法如下: js="var q=document.getElementById('id').scrollTop=10000"…