endision2002 发表于 2011-10-8 09:43:09

在for循环中如何执行删除

Dim arry()
        '定义一个Link的description对象
        Set objDes=description.Create()

        objDes("micclass").value="WebElement"

        objDes("html tag").value="LI"

        objDes("innertext").value="endision2002"

        '定义一个WebElement删除的description对象
         Set myDes=Description.Create()

        myDes("micclass").value="WebElement"

        myDes("html tag").value="SPAN"

        Set objEles=Browser("CreationTime:=0").Page("Index:=0").WebElement("class:=cl").ChildObjects(objDes)

        '获取数量
        intCount= objEles.count-1

        ReDim arry(intCount)
       
        IfintCount >= 0 Then

                For i=0 to intCount
                                Set objSpn=objEles(i).ChildObjects(myDes)
                                '点击删除
                                objSpn(0).click
                                Browser("CreationTime:=0").Page("Index:=0").WebTable("class:=boxy-wrapper fixed").Link("text:=确定").Click   
                Next

        End If


执行for循环到第二条时报错,,不知道如何处理好。

shotstar 发表于 2011-10-9 09:18:57

个人推测是不是你在第一个删除之后页面发生了变化了,导致原本第二个对象识别不到了?有个页面截图比较好。

haihai1005 发表于 2011-10-9 10:53:59

("Index:=0) 个人感觉 不能找这个来判断!比如你删除了Index:=0 现在要删除Index:=1 但是QTP还是回去找Index:=0)的元素 !找不到 就报错了

softCore 发表于 2011-10-9 15:15:25

Set objEles=Browser("CreationTime:=0").Page("Index:=0").WebElement("class:=cl").ChildObjects(objDes)
Set objSpn=objEles(i).ChildObjects(myDes)
感觉这2句有点问题,你确认childobject.childobject是存在的吗?
页: [1]
查看完整版本: 在for循环中如何执行删除