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

How to identify the class of an Object which is in a cell of webtable

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

下面是我的初始代码。但是,当 webtable 单元格没有 link 可单击

时,它并不总是有效
Set Table = Browser("Oracle PeopleSoft").Page("Request Payment Predictor").WebTable("Run Control ID").ChildItem(2, 1, "Link", 0)
Table.Click

我想知道是否有办法找到对象的 class(在网络 table 的单元格中),所以只有当对象是 link 或者换句话说,我们可以在 WebTable 单元格对象上使用 GetRoProperty("Class Name") 吗?

ChildItem函数returns如果请求类型的测试对象存在,否则returnsNothing.

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

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),因此您可以在其上使用常规测试对象方法。

请注意,返回的对象不是table单元格对象,而是您请求的类型的对象,该类型可能是WebElement它被认为是所有 Web 对象的基础 class。这意味着您可以将 ChildItem"WebElement" 一起使用,然后通过获取其 micClass 查看它的实际类型(这就是 Class Name 被内部调用)。

Print webElem.GetROProperty("micclass")

专业提示:索引是基于 1 的,您可以使用未记录的 Highlight 函数来确保您正在处理正确的对象(obj.Highlight).