您的位置:首页 > 编程语言 > Qt开发

QTP对Windows内嵌浏览器录制的问题

2009-10-30 14:42 246 查看
QTP版本9.5

今天是第二天正式使用QTP,没有想到遇到IM聊天历史记录是用内嵌的EXPLOR做的,用QTP一录得到WinObject: Internet Explorer_Server

完了,啥信息都得不到。

我请教了同事,得到的信息是既然是Explorer的页面,应该通过Page的方向去查找,据说有人通过句柄可以把winObject转换为Browser

顺着这个方向去找。果然网上有人说这方面代码

hwnd = Window("Popup").GetROProperty("hwnd")

Msgbox Browser("hwnd:=" & hwnd).Exist(0)
Msgbox Browser("hwnd:=" & hwnd).Page("micclass:=page").Exist(0)

Browser("hwnd:=" & hwnd).Page("micclass:=page").WebButton("name:=Approve").Click



一试 ,两个都报false,心凉了一半。

再仔细看了一下

说提问的人自己也没有解决,说QTP版本问题。



继续找

也有说通过tools->Register New Browser Control一下有用,试了一下,也不知道咋用放弃。





实在想不出方法了,不如换个窗体试试看。换到个人聊天窗体(原先是群聊天窗体),用QTP一抓,抓出来了,Page和WebElement都抓出来了,有点奇怪,但是毕竟是不同的窗体,回头再往群窗体上一用,结果也抓出来了。



问题算是解决了,但是很灵异,为啥第一次抓,抓不到信息呢,而且试过好多次,难道和Register那玩意有关系。



明天换台机器再试试看,今天问题算是解决了.代码记录如下

Set oDesc = Description.Create()
oDesc("micclass").Value = "WebElement"
oDesc("html tag").Value = "DIV"
oDesc("class").Value = "MsgHistory"

Set EleConlection = Window("test(群号:29855207)").Page("MsgHistory").ChildObjects(oDesc)
for i = 0 To EleConlection.Count - 1
print EleConlection(i).GetROProperty("innertext",1000)
Next
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: