我很难点击网络表格中的特定行。我的代码找到了正确的行,但是当我使用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作为索引,因为行中只有一个元素 - 简单文本。我在许多其他测试中不断收到此错误。在极少数情况下,这种方法适用于某些测试,但大多数情况下它会抱怨没有物体
非常感谢您的帮助!
答案 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
成功点击了我需要的链接