51Testing软件测试论坛
标题:
用Browser("hwnd:="& ieHwnd).Close关闭浏览器时 出错。
[打印本页]
作者:
zhangkun90
时间:
2013-1-23 13:38
标题:
用Browser("hwnd:="& ieHwnd).Close关闭浏览器时 出错。
如 附件所示, 用 dom 打开IE浏览器,用object.HWND 来获取 打开的IE浏览器的 hwnd 的值 但是 在最后一行代码中 执行错误 提示如附件所示 求解答
Set oie = CreateObject("InternetExplorer.Application")
oie.Visible= True
oie.Navigate "www.baidu.com"
ieHwnd=oie.HWND
Browser("hwnd:="& ieHwnd).Close
作者:
zhangkun90
时间:
2013-1-23 13:47
求解答~ 在线等奥
作者:
xjwldlover
时间:
2013-1-23 13:59
oie.HWND <> browser().getRoProperty("HWND")
通过Browser("hwnd:="& oie.HWND) 是找不到对象的
作者:
zhangkun90
时间:
2013-1-23 14:49
回复
3#
xjwldlover
可是我看书上是这么写的奥 , 我都是照敲下来的也不行55555
作者:
xjwldlover
时间:
2013-1-23 15:01
回复
4#
zhangkun90
经过无数前辈的实践证明,这地方有些问题,原因还不知道
作者:
zhangkun90
时间:
2013-1-23 15:11
回复
5#
xjwldlover
啊 这样啊 我知道咧 书上写错了呗 是吧 用 getRoProperty(“hwnd”) 这个取得的 值 是可以的 那妥妥的 谢谢咯
作者:
黑羽祭
时间:
2013-1-24 09:13
回复
1#
zhangkun90
这里的确是书上写错了:使用Spy发现句柄与ieHwnd并不一样,所以最后一句执行的时候,的确找不到对象的。
还有271页上,oWebEdit("name") = "TestID.*"
应该写成 oWebEdit("name").value = "TestID.*"还有几个小地方也有点小问题。
LZ自行研究啦~
作者:
zhangkun90
时间:
2013-1-24 09:32
回复
7#
黑羽祭
谢谢啦 ,
作者:
泰然
时间:
2013-1-24 09:54
作者没有写错,可能是未特意说明测试环境,他用的是IE6。
Set oie = CreateObject("InternetExplorer.Application")
oie.Visible= True
oie.Navigate "www.baidu.com"
'Browser("hwnd:="&oie.hwnd).close
'wait 10
print Browser(":=").GetROProperty("hwnd")&"/"&oie.hwnd
print "==================="
Set oObject = Description.Create()
Set oObjList = Desktop.ChildObjects(oObject)
For i = 0 to oObjList.count()-1
print oObjList(i).getRoProperty("hwnd")&"/"&oObjList(i).getRoProperty("nativeclass")&"/"&oObjList(i).getRoProperty("micclass")
print "==================="
Next
复制代码
这段代码在我手头上有的2个浏览器版本IE6和IE8上运行的结果是不同的。
IE6上运行的结果:
459122/459122
===================
196664/Shell_TrayWnd/Window
===================
459278/WorkerW/WinObject
===================
524654/ReBarWindow32/WinObject
===================
1705224/ToolbarWindow32/WinToolbar
===================
655702/ComboBoxEx32/WinObject
===================
786920/ToolbarWindow32/WinToolbar
===================
459124/ComboBox/WinComboBox
===================
721520/Edit/WinEdit
===================
393736/ToolbarWindow32/WinToolbar
===================
459258/WorkerW/WinObject
===================
459284/ToolbarWindow32/WinToolbar
===================
1180892/msctls_statusbar32/WinStatusBar
===================
1836328/msctls_progress32/WinObject
===================
1901882/Shell DocObject View/WinObject
===================
459122/IEFrame/Browser
===================
328826/Mercury::Qtprn::PrintWindow/Window
===================
328588/Afx:00400000:8:00010003:00000000:002A03A3/Window
===================
65652/Progman/Window
===================
复制代码
IE8上运行的结果:
67734/198488
===================
196672/Shell_TrayWnd/Window
===================
263242/TXGuiFoundation/Window
===================
133184/BrowserFrameGripperClass/WinObject
===================
198656/WorkerW/WinObject
===================
133122/ReBarWindow32/WinObject
===================
133230/TravelBand/WinObject
===================
133226/ToolbarWindow32/WinToolbar
===================
133228/Address Band Root/WinObject
===================
133220/AddressDisplay Control/WinObject
===================
133218/Edit/WinEdit
===================
133222/ToolbarWindow32/WinToolbar
===================
133224/ToolbarWindow32/WinToolbar
===================
133210/UniversalSearchBand/WinObject
===================
133212/Search Control/WinObject
===================
133208/Edit/WinEdit
===================
133204/ToolbarWindow32/WinToolbar
===================
133200/ToolbarWindow32/WinToolbar
===================
67696/CommandBarClass/WinObject
===================
67698/ReBarWindow32/WinObject
===================
67718/CommandToolbarBand/WinObject
===================
67720/ToolbarWindow32/WinToolbar
===================
67714/TabBandClass/WinObject
===================
67716/DirectUIHWND/WinObject
===================
67710/FavBandClass/WinObject
===================
67712/ToolbarWindow32/WinToolbar
===================
67700/LinksBandClass/WinObject
===================
67708/ToolbarWindow32/WinToolbar
===================
67704/ToolbarWindow32/WinToolbar
===================
67730/Frame Tab/WinObject
===================
67740/InternetToolbarHost/WinObject
===================
67742/WorkerW/WinObject
===================
67744/ReBarWindow32/WinObject
===================
67748/ToolbarWindow32/WinToolbar
===================
67734/TabWindowClass/Browser
===================
67752/msctls_statusbar32/WinStatusBar
===================
67776/ToolbarWindow32/WinToolbar
===================
67774/ToolbarWindow32/WinToolbar
===================
67772/Shell DocObject View/WinObject
===================
67786/Internet Explorer_Server/Page
===================
198488/IEFrame/Window
===================
198878/Mercury::Qtprn::PrintWindow/Window
===================
459956/Afx:00400000:8:00010003:00000000:000205BD/Window
===================
853206/rctrl_renwnd32/Window
===================
262948/Chrome_WidgetWin_1/Window
===================
197240/#32770/Dialog
===================
65660/Progman/Window
===================
复制代码
看到差别没有?IE6上Browser(":=").GetROProperty("hwnd")和oie.hwnd的结果相同,但IE8上两者不同,原因是IE8是多标签的浏览器,Browser(":=")对象的hwnd,nativeclass和micclass分别是67734/TabWindowClass/Browser,而oie对象的hwnd,nativeclass和micclass分别是198488/IEFrame/Window,Browser(":=")只是ioe内部的一个tab。
作者:
zhangkun90
时间:
2013-1-24 10:27
回复
9#
泰然
这样啊 天呢,,,, 佩服奥 学习了 谢谢哈
作者:
xjwldlover
时间:
2013-1-24 10:42
学习了
作者:
黑羽祭
时间:
2013-1-24 11:20
学习了~
作者:
ld469
时间:
2013-1-29 13:20
回复
10#
zhangkun90
好文,分析透彻必须顶!!!
作者:
qilaidi
时间:
2013-2-7 16:45
回复
9#
泰然
学习了!!谢谢分析!!
作者:
ysm145
时间:
2013-4-1 13:55
用 getToProperty(“hwnd”)获取到值为什么是空
作者:
My_duo
时间:
2013-5-4 12:32
今天也看到这一章了。学习了。
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2