我有这个代码点击第一行和第一列就好了。
Set oExcptnDetail = Description.Create
oExcptnDetail("micclass").value = "WebElement"
oExcptnDetail("html tag").value = "TD"
Set chobj=Browser("").Page("").WebTable("Code").ChildObjects(oExcptnDetail)
chobj(0).Click
如何使用上面的代码点击特定行?
我使用了无效的childitem。
set objLink = Browser("bb").Page("bb").WebTable("Name_2").ChildItem(4, 1, "WebElement",0)
更新1
我尝试了以下代码。它没有点击第3行第1行。
Set desc = Description.Create
desc("html tag").value = "TR"
Set rows = table.ChildObjects(desc)
desc("html tag").value = "TD"
Set cells = rows(3).ChildObjects(desc)
Set TableCell = cells(1)
Browser("").Page("").WebTable(TableCell).Click
答案 0 :(得分:1)
UFT的ChildItem
函数会在单元格中返回包含元素,这意味着它不会返回所在的TD
强>细胞,只有它的后代。
为了获得单元格本身,你应该使用WebTable.Cell
,这是UFT中一个相对较新的功能,你可能没有它。如果你不这样做,你应该能够编写这样的帮助函数(注意我写这篇文章而不检查它,可能需要额外的工作和错误处理):
Function TableCell(table, nRow, nCol)
Set desc = Description.Create
desc("html tag").value = "TR" ' Or "T[RH]" to capture TH too
Set rows = table.ChildObjects(desc)
desc("html tag").value = "TD"
Set cells = rows(nRow).ChildObjects(desc)
Set TableCell = cells(nCol)
End Function
如果您愿意,可以使用RegisterUserFunc
将其用作WebTable.Cell
。
然后你可以这样使用它:
TableCell(Browser("").Page("").WebTable("Code"), 4, 1).Click
或者,如果您使用RegisterUserFunc
将其注册为Cell
:
Browser("").Page("").WebTable("Code").Cell(4, 1).Click