Linda0721 发表于 2008-12-28 16:19:18

Page对象识别

在使用 index 来识别 page 时出现问题:
语句:Browser("CreationTime:=0").Page("Index: = 0").Object.links
出错信息:The "Index: = 0" object was not found in the Object Repository.
                  Check the Object Repository to confirm that the object exists or to find the correct name for the object.
                  Line (18): "Set pageLinkList0 = Browser("CreationTime:=0").Page("Index: = 0").Object.links".

请问用CreationTime,Index的方式来确定对象 一定要在对象库中有对象吗?
注:采用描述性编成,没有录制,所以对象库中没有内容

sangjf 发表于 2008-12-29 09:26:30

index属性是qtp用来区分属性相同的对象的标志,也就是说这个属性是qtp自己为了区分对象而加上去的,在实际中并不存在。在用index属性时,必须指明要识别的其他属性的值,比如
Browser("title:=.*").page("name:=xx","index:=0")指的是页面name属性为xx,最先生成的页面。
打个比方:你要找一个姓王的人,他是市场部的或者是研发部的。你可以说找市场部或研发部的小王,但你不能说找市场部或研发部。

dreamever 发表于 2008-12-29 09:30:27

二楼正解,顶!

Linda0721 发表于 2008-12-29 10:18:40

感谢楼上两位,我还有两个不太明白的地方需要请教:
1.如果:Browser("CreationTime:=0").Page("title:=xx","Index:=1"). 那么,Index=1的page 在一个browser里边具体是指什么样的情况, 是像IE7那样的很多的tab,第一个是 Index =0, 第二个是 Index =1吗?还是有其他情况。
2.如果是要描述 :在一个打开的Browser里边的一个网页上的所有链接 应该如何表示呢?
注:当前只有一个浏览器并且只有一个页面打开,不能确定Page的其他属性,包括title,仅知道该网页的URL
像这样写:Browser("CreationTime:=0").Page("URL:=YY","Index: = 0").Object.links
还有其他方法吗?

谢谢

sangjf 发表于 2008-12-29 11:02:57

第一个问题:没用过index来标志page,所以不太清楚。
第二个问题:用childobject来处理,具体做法可以参考qtp的帮助文档,论坛上也有很多类似的帖子可以参考

Randall 发表于 2008-12-30 20:07:28

Browser("CreationTime:=0").Page("Index: = 0").Object.links
把冒号后面的空格去掉就可以了
Browser("CreationTime:=0").Page("Index:= 0").Object.links

j44jj44j 发表于 2008-12-31 09:51:16

学习一下

zhangxinnow 发表于 2009-1-5 14:16:18

同意2楼
页: [1]
查看完整版本: Page对象识别