使用UFT / QTP单击WebTable中的特定行

时间:2016-06-15 16:41:41

标签: vbscript qtp hp-uft

我很难点击网络表格中的特定行。我的代码找到了正确的行,但是当我使用Child Item方法时,它会抱怨找不到Object。这是我的代码:

Desc = "Record to click"

If Browser("B").Page("P").WebTable("W").exist(10) Then

    totalRows = Browser("B").Page("P").WebTable("W").RowCount()
    For RowNum = 1 To totalRows
        If aDesc = Browser("B").Page("P").WebTable("W").GetCellData(RowNum,2) Then
            Browser("B").Page("P").WebTable("W").ChildItem(RowNum,2,"WebElement",0).click
        End If
    Next
End If

我在Web元素的行中侦察了它的值,我试图使用Link-没有用。我还试图 Child Item(aDesc,2,"WebElement",0) - 也没用。我使用0作为索引,因为行中只有一个元素 - 简单文本。我在许多其他测试中不断收到此错误。在极少数情况下,这种方法适用于某些测试,但大多数情况下它会抱怨没有物体 非常感谢您的帮助!

3 个答案:

答案 0 :(得分:4)

它也发生在我身上。当我研究时,我发现在一些旧的HP博客中,ChildItem方法无法正常使用WEBElement,但这是针对QTP 9.0的,而我使用的是12.02.Anyhow,我无法弄清楚为什么会发生这种情况,并最终使用以下 -

Set oExcptnDetail = Description.Create
oExcptnDetail("micclass").value = "WebElement"
oExcptnDetail("html tag").value = "TD"
Set chobj=Browser("").Page("").WebTable("Code").ChildObjects(oExcptnDetail)
chobj(0).Click 

在旁注中,为了检查某个行和列中是否存在webelement / link,请使用以下命令。

 Browser("B").Page("P").WebTable("W").ChildItemCount(2,2,"WebElement")

Getcell数据将返回所需行和列中的任何内容,无论它是什么(链接,webelement等),因此您对if循环的假设将出错。

答案 1 :(得分:0)

试试这个:

浏览器( “B”)。页( “P”)。网表( “W”)object.rows。(ROWNUM-1).cells(colnum-1)。点击

答案 2 :(得分:0)

我试图单击表格中的第一个链接,而此代码单击了该项目

Set oDesc = Description.Create() 
oDesc("html tag").Value = "A"
Set rc = Browser("B").Page("A").WebTable("html id:=gridTable").ChildObjects(oDesc)
rc(0).Click
'num = rc.Count() 'get the number of link in a page 
'For i=0 to num-1 
'ref = rc(0).GetROProperty("href") 'get the “href”propety of the i th link
'MsgBox ref
'Next

Browser("B").Page("A").WebTable("html id:=gridTable").ChildItem(2,8,"Link",0).click

成功点击了我需要的链接