UFT / QTP-从WebEdit中的列表中提取值

时间:2018-07-20 11:17:19

标签: vbscript qtp hp-uft

我试图捕获整个应用程序中WebList元素中的所有列表项,但是,尽管下面的代码在WebLists上起作用,但在此WebEdit上不起作用。

单击WebEdit时,将出现一长串值(类似于WebList),并且在键入值时,列表会变短。这就是WebEdit的设置方式。

但是现在,如何获取此列表中的值?

这是我用于WebLists的代码:

代码

Set WebLink = Browser("browser").Page("page")

listval = WebLink.WebElement("xpath:= ((//*[contains(text(), 'Name')]))[1]/following::SELECT[1]").GetROProperty("all items")

listvalues = split(listval,";") 

For j = LBound(listvalues,1) To UBound(listvalues,1)

    'Print listvalues(j)
    writeToTextFile(listvalues(j))

Next

ExitTest

1 个答案:

答案 0 :(得分:2)

简短的答案是:这取决于实现方式。

较长的一个: 没有用于组合框的通用小部件(就像用于编辑字段或列表/选择,单选按钮等一样) =>没有通用的解决方案,只有准则。

您需要监视组合框中显示的那些对象,查看它们的XPath和/或其他属性(例如,它们所属的css类名),然后执行第二个查询以选择所有此类项目。然后,您必须提取所选元素的值;可能就像获取 innertext 属性一样简单,或者您可能需要更深入地研究HTML层次结构。

您需要特别注意同步(等待直到出现所有搜索结果元素),过滤(使用WebPage上的XPath,Description Objects和ChildObjects方法),然后进行提取(获取包含实际值的/ element)该WebElement的值)

再说一遍:这些组合框解决方案不是通用的,因此,如果不看它们的代码,可以为您提供的最好的就是通用的准则,该准则在大多数情况下都适用。 (您需要熟悉Web编程和UFT框架/机器人)