Object 如何识别webtable单元格中的对象的类

Object 如何识别webtable单元格中的对象的类,object,qtp,Object,Qtp,我有一个webtable,它的第2行第1列单元格中可能有一个weblink对象(该对象的索引也是0)。如果它确实是一个链接,我想点击它,否则忽略它。如果我们知道行和列的编号,有没有办法识别这个对象的类 下面是我的初始代码。但是,当webtable单元格没有可单击的链接时,它并不总是起作用 Set Table = Browser("Oracle PeopleSoft").Page("Request Payment Predictor").WebTable("Run Control ID").Chi

我有一个webtable,它的第2行第1列单元格中可能有一个weblink对象(该对象的索引也是0)。如果它确实是一个链接,我想点击它,否则忽略它。如果我们知道行和列的编号,有没有办法识别这个对象的类

下面是我的初始代码。但是,当webtable单元格没有可单击的链接时,它并不总是起作用

Set Table = Browser("Oracle PeopleSoft").Page("Request Payment Predictor").WebTable("Run Control ID").ChildItem(2, 1, "Link", 0)
Table.Click

我想知道是否有办法找到对象的类(在web表的单元格中),这样我只能在对象是链接时单击该对象,或者换句话说,我们可以在WebTable单元格对象上使用
GetRoProperty(“类名”)

ChildItem
函数返回请求类型的测试对象(如果存在),否则它将返回
Nothing

因此,您的代码应该如下所示:

Set aLink = Browser("Oracle PeopleSoft")_
             .Page("Request Payment Predictor")_
               .WebTable("Run Control ID").ChildItem(2, 1, "Link", 0)

If Not aLink is Nothing Then
    aLink.Click
End If
ChildItem
返回的对象是一个测试对象(如果它不是
Nothing
),因此可以对其使用常规测试对象方法

请注意,返回的对象不是表单元格对象,而是您请求的类型的对象,此类型可能是
WebElement
,它被视为所有web对象的基类。这意味着您可以将
ChildItem
“WebElement”
一起使用,然后通过获取它的类型(内部称为类名)来查看它的实际类型


Pro提示:索引是基于1的,您可以使用未记录的
突出显示
功能,以确保您使用的对象是正确的(
obj.Highlight
)。

再次感谢Motti。你就是那个人。这解决了我面临的问题。然而,我并不想得到2,1中链接对象的属性,而是想把(2,1)单元格设置为一个对象,这个对象不一定是链接,然后得到对象的类名。可能吗?类似于下面的设置aObj=Browser(“Oracle PeopleSoft”)uj.Page(“请求付款预测器”)j.WebTable(“运行控制ID”)。Classname_Obj=aObj.GetROProperty(“类名”)注意:您的答案确实是一个解决方案。我在寻找一种方法,在不知道我们处理的对象类型的情况下,将单元格实际定义为对象。如果不可能的话,我会把你的作为解决方案
Print webElem.GetROProperty("micclass")