有的时候需要在测试的过程中需要模拟拖到浏览器的滚动条,我们可以通过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/