查看完整版本: 用ChildObjects得到的Browser对象属性值为空

dottree 2008-7-8 14:57

用ChildObjects得到的Browser对象属性值为空

下面这段代码返回所有打开的页面:        
         Dim bw,bwo
        Set bw=description.Create()
        bw("micclass").value="Browser"
        set bwo=desktop.ChildObjects(bw)
         bwName=bwo(0).GetTOProperty("name")
bwName的返回值为什么总是为空?如何能取得页面的名字?

pcl2004_27 2008-7-8 15:13

我测试了楼主的代码,关键错误应该在

bwName=bwo(0).GetTOProperty("name")

修改代码如下:

Dim bw,bwo
Set bw=description.Create()
bw("micclass").value="Browser"
set bwo=desktop.ChildObjects(bw)
bwName=bwo(0).GetROProperty("name")

msgbox bwName


代码错误的关键在于 RO=RunTimeObject vs. TO=Test Object的区别
RO 是运行期的对象属性,动态数据
TO 是保存在对象库中的对象, 静态数据

假装不在 2008-7-8 15:21

micclass是不是写错了,你修改成IEFrame 试试看可以不。
而且,不要用GetROProperty应该是好点。

dottree 2008-7-8 15:34

果然改为GetROProperty就可以了。原来ChildObjects返回的是运行时对象。谢谢管理员。
但还有个问题,用ObjectSpy到运行时browser对象的name值是“Microsoft Internet Explorer”,而GetROProperty("name")的返回值是页面的title。两个为什么不一样?

dottree 2008-7-8 15:36

[quote]原帖由 [i]假装不在[/i] 于 2008-7-8 15:21 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=1013002&ptid=119657][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
micclass是不是写错了,你修改成IEFrame 试试看可以不。[/quote]
IEFrame怎么用啊?
[quote]而且,不要用GetROProperty应该是好点。 [/quote]
为啥?
页: [1]
查看完整版本: 用ChildObjects得到的Browser对象属性值为空