我正在尝试使用GetROProperty
在描述性编程的单选按钮上捕获鼠标悬停时显示的文本。如果我监视显示的工具提示文本,则会将其识别为WebElement
。我尝试执行以下代码
setToolTip=Browser(strBrowser).Page(strPage).WebElement(strwebElement).GetROProperty("innertext")
MsgBox ToolTip
但是我收到以下错误消息
“无法识别对象”[WebElement](类WebElement.Verify,此对象的属性与当前显示在应用程序中的对象相匹配“。
如果我通过将对象添加到对象存储库来运行相同的代码,我可以使用GetROProperty
除GetROProperty
之外是否还有其他属性,以便我可以捕获显示的工具提示文本或有其他方式吗?
请建议。
我的完整代码如下所示。我也按照建议尝试了“object.tile”但仍然是相同的问题。
Browser(strBrowser).Page(strPage).WebRadioGroup(strLogicalName).Select "true"
Browser(strBrowser).Page(strPage).WebRadioGroup(strLogicalName).FireEvent "onmouseover"
set ToolTip=Browser(strBrowser).Page(strPage).WebElement("strWebElement").Object.title
MsgBox ToolTip
请建议
感谢。
答案 0 :(得分:2)
原生工具提示实际上是HTML元素的title
属性,因此为了获得元素的标题,您可以Browser("a").Page("b").WebElement("c").Object.title
。
然而,根据您所描述的,听起来您的问题在于对象识别而不是获取属性,可能是您正在测试的Web应用程序具有特殊的javascript,它创建了一个显示文本的浮动HTML元素。如果是这样,可能是在特定事件发生之前不会创建此元素(可能是mouseover
)。这可能是QTP无法识别对象的原因,它尚不存在。如果这确实发生了什么,你应首先在基本HTML元素上触发相关事件(使用QTP的FireEvent
方法),然后尝试使用工具提示元素。