QTP中利用DOM实现拖动浏览器滚动条

有的时候需要在测试的过程中需要模拟拖到浏览器的滚动条,我们可以通过Dom调用DocumentElement下的ScrollTop方法实现.

  步骤:

  (1)通过DOM获取Page的body高度,这个高度是滚动条滚动的最大范围

  MaxHeight=Pageobj.Object.body.ClientHeight

  (2)通过DOM调用Page的DocumentElement下的ScrollTop方法,为ScrollTop方式传入参数,实现滚动

  Pageobj.Object.DocumentElement.ScrollTop=ScrollHeight(注:ScrollHeight为需要滚动到的位置,单位为像素(PX))

  以下是封装的一个拖到滚动条的函数:


'**********************************************************

'功能:拖到浏览器纵向滚动条

'参数:Pageobj - 需要推动的Page对象

'     ScrollPercentage - 滚动条滚动相对于page高度的百分比(如:0.1表示移动到十分之一处)

'作者:**

'时间:2013-11-08

'**********************************************************

Function DragScrollBar(Pageobj,ScrollPercentage)

'判断ScrollPercentage是否为数字

If IsNumeric(ScrollPercentage) Then

'判断Pageobj对象是否存在

If Pageobj.Exist Then

'获取浏览器body的高度

MaxHeight =  Pageobj.Object.body.ClientHeight

'若ScrollPercentage大于等于1,则滚动条移动到浏览器底部

If  ScrollPercentage>=1Then

ScrollHeight = MaxHeight

'若ScrollPercentage小于1,则滚动条移动到ScrollHeight位置

ElseIf (ScrollPercentage>0 And ScrollPercentage<1) Then

ScrollHeight = MaxHeight * ScrollPercentage

'若ScrollPercentage小于0,则滚动条移动到浏览器顶部

Else

ScrollHeight = 0

End If

'根据ScrollHeight移动浏览器滚动条

Pageobj.Object.DocumentElement.ScrollTop = ScrollHeight

Else

Msgbox "Pageobj对象未找到"

End If

Else

Msgbox "ScrollPercentage参数不正确,必须为数字"

End If

End Function

 实例:

  测试需求:

  (1)打开http://www.baidu.com/more/

  (2)拖到打开界面中的滚动条到窗口的60%处


'关闭IE浏览器

Systemutil.CloseProcessByName "iexplore.exe"

'打开http://www.baidu.com/more/

Systemutil.Run "iexplore.exe","http://www.baidu.com/more/"

Set Browserobj = Browser("title:=百度产品大全")

Set Pageobj =Browserobj.Page("title:=百度产品大全")

'等待浏览器打开完成

While Browserobj.Object.Busy

Wend

'调用DragScrollBar拖到浏览器滚动条到百分之六十处

Call DragScrollBar(Pageobj,"0.6")

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-21 14:15:44

QTP中利用DOM实现拖动浏览器滚动条的相关文章

网页制作中有关设置浏览器滚动条的参数

浏览器|网页 有朋友常提关于IE滚动条的问题,特总结该贴.简单地介绍一下涉及浏览器滚动条的样式表内容(某些样式需ie5.5+才能支持): 1.overflow内容溢出时的设置(设定被设定对象是否显示滚动条)overflow-x水平方向内容溢出时的设置overflow-y垂直方向内容溢出时的设置以上三个属性设置的值为visible(默认值).scroll.hidden.auto. 2.scrollbar-3d-light-color立体滚动条亮边的颜色(设置滚动条的颜色)scrollbar-arr

vc++ 滚动视图-怎样在vc++多文档滚动视图中,用鼠标拖动滚动条,屏幕内容不变,自己处理显示内容

问题描述 怎样在vc++多文档滚动视图中,用鼠标拖动滚动条,屏幕内容不变,自己处理显示内容 我用vc++做了一个多文档程序,并用使用了滚动视图.现在,我想不使用系统提供的滚动功能,就是说,当我把滚动条拖动到某一位置后,屏幕显示内容不是有系统自动进行滚动,而是由我自己滚据滚动条的位置来处理显示内容,请问如何做?

java导出PDF文件,在程序中利用IE浏览器点击下载,是正确的后缀为PDF的文件;而在谷歌浏览器中,点击导出,导出的是后缀为.action的文件

问题描述 java导出PDF文件,在程序中利用IE浏览器点击下载,是正确的后缀为PDF的文件:而在谷歌浏览器中,点击导出,导出的是后缀为.action的文件,貌似是不支持谷歌浏览器啊?那位大哥遇到过啊?!case2:ServletOutputStreamouputStream=getResponse().getOutputStream();getResponse().setContentType("application/pdf");StringfileName2=newString(

QTP里的DOM应用

DOM全称"Document Object Model",字面上叫做"文档对象模型",它是一款主要用于Web Html中的一种独立语言.Html Dom主要通过定义一套标准的对象通道接口,使得我们能够轻松访问并控制Html对象元素,它是一种用于Html和Xml文档的编程接口.DOM的表现方 法是一种树状结构. 有些时候QTP只对标准控件支持比较好,而对特殊的控件无法识别.DOM是一种罪底层的对象操作模型,使用它来控制对象不但速度快,而且可以访问很多QTP无法访问的东

jquery在浏览器滚动条上的应用

Google阅读器上有一个AJAX效果很不错,就是阅读项目时不需要翻页,浏览器滚动条往下拉到一定位置时自动加载新的一批项目进来,一直到所有项目加载完为止.对于我来说再好不过了,因为我很不喜欢翻页,尤其是输入页码再定位到页.要知道,数据量增加很频繁时,要通过定位页码来找到目标数据似乎并没有什么意义.我觉得用户体验成熟的WEB应用程序应当引导用户使用TAG或搜索等功能来找到目标数据.至于浏览数据,尤其是浏览最新的数据,利用浏览器滚动条来加载,是很好的尝试-- 我试着用jquery来实现这个功能.先要

VC++中利用MSXML解析XML文档

c++|xml 四.程序实现 下面通过一个具体的实例来说明在VC++中如何利用MSXML解析XML文档. (1)源XML文档(xmlfile.xml)如下: <?xml version="1.0" encoding="GB2312"?> <Device id="10041" name="设备1"> <Type>13</Type> <TypeName>保护</Ty

为什么说JavaScript中的DOM操作很慢

一直都听说DOM很慢,要尽量少的去操作DOM,于是就想进一步去探究下为什么大家都会这样说,在网上学习了一些资料,这边整理出来. 首先,DOM对象本身也是一个js对象,所以严格来说,并不是操作这个对象慢,而是说操作了这个对象后,会触发一些浏览器行为,比如布局 (layout)和绘制(paint).下面主要先介绍下这些浏览器行为,阐述一个页面是怎么最终被呈现出来的,另外还会从代码的角度,来说明一些不好的 实践以及一些优化方案. 浏览器是如何呈现一张页面的 一个浏览器有许多模块,其中负责呈现页面的是渲

IE浏览器滚动条的参数总结参考

参考|浏览器 有朋友常提关于IE滚动条的问题,特总结该贴.简单地介绍一下涉及浏览器滚动条的样式表内容(某些样式需ie5.5+才能支持): 1.overflow内容溢出时的设置(设定被设定对象是否显示滚动条)    overflow-x水平方向内容溢出时的设置    overflow-y垂直方向内容溢出时的设置    以上三个属性设置的值为visible(默认值).scroll.hidden.auto. 2.scrollbar-3d-light-color立体滚动条亮边的颜色(设置滚动条的颜色) 

利用 DOM 进行 Web 响应

dom|web|响应 程序员(使用后端应用程序)和 Web 程序员(编写 HTML.CSS 和 JavaScript)之间的分水岭是长久存在的.但是,Document Object Model (DOM) 弥补了这个裂缝,使得在后端使用 XML 同时在前端使用 HTML 切实可行,并成为极其有效的工具.在本文中,Brett McLaughlin 介绍了 Document Object Model,解释它在 Web 页面中的应用,并开始挖掘其在 JavaScript 中的用途. 与许多 Web 程