我试图捕获整个应用程序中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
答案 0 :(得分:2)
简短的答案是:这取决于实现方式。
较长的一个:
没有用于组合框的通用小部件(就像用于编辑字段或列表/选择,单选按钮等一样) =>没有通用的解决方案,只有准则。
您需要监视组合框中显示的那些对象,查看它们的XPath和/或其他属性(例如,它们所属的css类名),然后执行第二个查询以选择所有此类项目。然后,您必须提取所选元素的值;可能就像获取 innertext 属性一样简单,或者您可能需要更深入地研究HTML层次结构。
您需要特别注意同步(等待直到出现所有搜索结果元素),过滤(使用WebPage上的XPath,Description Objects和ChildObjects方法),然后进行提取(获取包含实际值的/ element)该WebElement的值)
再说一遍:这些组合框解决方案不是通用的,因此,如果不看它们的代码,可以为您提供的最好的就是通用的准则,该准则在大多数情况下都适用。 (您需要熟悉Web编程和UFT框架/机器人)