有人可以通过在QTP中动态获取行数来解释如何使用for循环在Web表中选择多个复选框。 我的问题是我必须根据Web表中存在的行数选择复选框,但行不是常量。请帮助。
答案 0 :(得分:0)
一个选项是获取表对象,找到子复选框并选择它们。它实际上取决于您的表结构以及对象的嵌入方式。如果您能提供更多详细信息,或许我们可以提供更多帮助
答案 1 :(得分:0)
试试这段代码。您将收到复选框对象的arraylist。如果要选择所有值,只需删除有关arrayList的行。我此刻没有IDE,但这应该可行。
Function FnGetCheckboxes()
Set objDesc = Description.Create
objDesc("micclass").value = "checkbox"
Set objTempCollection = Browser("").Page("").WebTable("").Childobjects(objDesc)
Set objArrList = createObject("System.Collections.ArrayList")
For intI = 0 to objTempCollection.Count-1
objArrList.add objTempCollection(intI)
Next
Set FnGetCheckboxes = objArrList
Set objArrList = Nothing
Set objTempCollection = Nothing
End Function
答案 2 :(得分:0)
您可以使用RowCount动态查找表的行数,并使用RowCount作为" FOR"的上限。环。实施例
dynamicRowCount = Browser("name:=.*@gmail.com - Gmail").Page("title:=.*@gmail.com - Gmail").WebTable("name:=Not Started").RowCount
For i=2 To dynamicRowCount Step 1
'WRITE THE CODE TO CLICK ON THE CCHECKBOXES
Next
其中dynamicRowCount返回运行时的行数。