|
我写了一段QTP脚本用于识别当前页面上最上层的IE弹出窗口,脚本如下:
Set des=description.Create()
des("Class name").Value = "Window"
des("enabled").Value =True '状态为激活的
set dobj=desktop.ChildObjects(des) '在桌面对象中查找
print dobj.count
后发现在增加了 des("enabled").Value =True 以后一个对象都找不到了
进一步实验:
Set des=description.Create()
des("Class name").Value = "Window"
'des("enabled").Value =True
set dobj=desktop.ChildObjects(des)
print dobj.count
For i=0 to dobj.count-1
If dobj(i).GetROProperty("enabled") Then '如果对象的enabled属性为True则
print "enabled="&dobj(i).GetROProperty("enabled")&" "&dobj(i).GetROProperty("foreground")&" "&dobj(i).GetROProperty("focused")&" "&i&" "&dobj(i).GetROProperty("text")
End If
Next
这时可以找到我所期望的对象
这样我就困惑了 为什么在ChildObjects筛选时我增加了enabled属性一条都找不到
而在筛选后用IF过滤enabled属性 就可以找到对象了
PS:我写上面的脚本是为了能得到当前单Browser下IE有多层模态窗口弹出时获得最顶层页面对象,以便直接操作最顶层页面中内容,目前想识别最顶层的页面,如果有好的方法还请高手指点指点 呵呵 |
|