Vbscript QTP缩小子对象列表的范围

Vbscript QTP缩小子对象列表的范围,vbscript,qtp,Vbscript,Qtp,[出于保密原因,描述有点含糊其辞,混淆了我的真实工作] 我正在为一个有多个HTML项目表的网页进行QTP测试。可用的项目有一个可单击的项目#,而非活动的项目有一个纯文本项目# 如果我有一组像这样的ChildObject: //This is the set of table rows that contain item numbers, active or not. objItemRows = Browser("browserX").Page("pageY").ChildObjects("cla

[出于保密原因,描述有点含糊其辞,混淆了我的真实工作]

我正在为一个有多个HTML项目表的网页进行QTP测试。可用的项目有一个可单击的项目#,而非活动的项目有一个纯文本项目#

如果我有一组像这样的ChildObject:

//This is the set of table rows that contain item numbers, active or not.
objItemRows = Browser("browserX").Page("pageY").ChildObjects("class:=ItemRow") 
在QTP land中,只选择可点击链接项目的最简单方法是什么

更新:这里的要点不是选择行本身,而是只选择其中包含项目的行(而不是每个表中的页眉/页脚行)。如果我理解正确,那么我可以使用objItemRows.Count来计算有多少项(可用和不可用)。那么我可以用类似的东西吗

desItemLink = Description.Create
   desItemLink("micclass").value = "Link"
objItemLinks = objItemRows.ChildObjects(desItemLink)
是否仅获取项目行中的链接


希望这能澄清问题,谢谢你的帮助。

我想我已经解决了这个问题

Set desItemLink = description.create
    desItemLink("micclass").value = "Link"
    desItemLink("text").RegularExpression = True
//True, Regex isn't really required in this example, but I just wanted to show it could be used this way
//This next part depends on the format of the item numbers, in my case, it's [0-9]0000[0-9]00[0-9]

For x = 0 to 9
  For y = 0 to 9
    For z = 0 to 9
      strItemLink = x & "0000" & y & "00" & z
      desItemLink("text").value = strItemLink
      Set objItemLink = Browser("browser").Page("page").Link(desItemLink)
      If objItemLink.Exist(0) Then
         //Do stuff
      End If
    Next
  Next
Next

无论如何,感谢您的帮助,但上面的代码将以给定的递增格式通过名称的链接进行迭代。

我不确定我是否理解您的意思,您能否发布可单击项目的HTML而不是不可单击项目的HTML?1。显示的代码段不是可执行的QTP/VBScript代码。2.QTP不会自动将TD或TR标记映射为GUI对象。此外,行和单元格是特定WebTable的子级,而不是页面对象。