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/

相关文章
|
2月前
|
XML 编解码 JavaScript
DOM(文档对象模型)和 BOM(浏览器对象模型)
【10月更文挑战第19天】在前端开发中,理解 DOM(文档对象模型)和 BOM(浏览器对象模型)是至关重要的。它们是 Web 开发的基础,为我们提供了与网页文档和浏览器进行交互的能力。
|
2月前
|
XML JavaScript 数据格式
XML DOM 浏览器差异
XML DOM 浏览器差异
|
2月前
|
XML JavaScript 数据格式
XML DOM 浏览器差异
XML DOM 浏览器差异
|
2月前
|
XML JavaScript 数据格式
XML DOM 浏览器差异
XML DOM 浏览器差异
|
2月前
|
XML JavaScript 数据格式
XML DOM 浏览器差异
XML DOM 浏览器差异
|
2月前
|
XML JavaScript 数据格式
XML DOM 浏览器差异
XML DOM 浏览器差异
|
3月前
|
XML JavaScript 数据格式
XML DOM 浏览器差异
XML DOM 浏览器差异
|
2月前
|
XML JavaScript 数据格式
XML DOM 浏览器差异
XML DOM 浏览器差异
|
3月前
|
XML JavaScript 数据格式
XML DOM 浏览器差异
XML DOM 浏览器差异
|
3月前
|
XML JavaScript 数据格式
XML DOM 浏览器差异
XML DOM 浏览器差异