ChanJian910 发表于 2010-3-18 17:29:06

For循环中数组操作的问题

Set aaa=Description.Create
aaa("micclass").value="Frame"

set Collection=Browser("test").Page("test").ChildObjects(aaa)
For j=0 to Collection.Count-1
                        If (Collection(j).GetROProperty("title")="待办工作列表") Then
                                                htmlid=Collection(j).GetROProperty("html id")'//满足条件的Frame的html id属性
                        End if
Next

问题描述:获取了当前页面test下Frame对象的个数Collection.Count,然后根据Frame对象的title属性的差异获得了满足条件的Frame的个数b(Collection.Count肯定是大于b的),请问如何将htmlid作为一个可变长度字符串数组的元素,并获取存储后数组的长度?

skyzhu 发表于 2010-3-18 17:40:25

2个办法
定义一个 Collection.Count 长度的数组
把拿到的htmlid一个个往里放
htmlid(i)=Collection(j).GetROProperty("html id")
i =i +1   最后长度也就有了
另外一个就是全拼接在一个字符串里,用特定符号分割,最后split一下

ChanJian910 发表于 2010-3-19 09:43:05

原帖由 skyzhu 于 2010-3-18 17:40 发表 http://bbs.51testing.com/images/common/back.gif
2个办法
定义一个 Collection.Count 长度的数组
把拿到的htmlid一个个往里放
htmlid(i)=Collection(j).GetROProperty("html id")
i =i +1   最后长度也就有了
另外一个就是全拼接在一个字符串里,用特定符号分 ...

i+1这种方式确实可以获得数组的长度,但是因为Collection.Count是个动态变化的值,会随着当前页面加载导致值差异,这样做的话,我声明一个变长数组htmlid(i),会提示数组下标越界,请问该如何处理?

ChanJian910 发表于 2010-3-19 09:50:39

问题已解决,贴上代码

Set aaa=Description.Create
aaa("micclass").value="Frame"

set Collection=Browser("test").Page("test").ChildObjects(aaa)

For j=0 to Collection.Count-1

                        If (Collection(j).GetROProperty("title")="待办工作列表") Then


                                                ReDim htmlid(i)

                                                htmlid(i)=Collection(j).GetROProperty("html id")
                                               
                                                i=i+1

                                                Print i       
                                                Print htmlid(i-1)

                        End if

Next

[ 本帖最后由 ChanJian910 于 2010-3-19 09:54 编辑 ]

zhengpeipei 发表于 2010-3-19 13:25:10

路过
页: [1]
查看完整版本: For循环中数组操作的问题