高手进!WebElement问题
http://bbs.51testing.com/post.php?action=newthread&;fid=69&extra=(论坛发帖页面)先是一个link,点击之后才会出现WebElement
代码如何写才能把WebElement里面的值一个个的用msgbox显示出来,求教? 对web系统做QTP测试,需要懂不少web的开发。比如,这里你要先通过分析它的源代码,知道这里是通过select的click来显示一个div,然后选择一个link后将link内容回写到select中来。
然后你通过查看元素工具找到这个div。“<div id='typeid_ctrl_menu' ...>”,发现这个div里还有<ul><li>的标签。那么你的问题就成了如何读出这些li中内容的问题。脚本如下:
set oliList = Browser("Browser").Page(" - 51Testing软件测").Object.getElementById("typeid_ctrl_menu").ChildNodes.ChildNodes
For i = 0 to oliList.length - 1
print oliList(i).innertext
Next 很多时候QTP自身的ChildObjects方法在web系统中不太好用,更多的是用.object.getElement系列的方法来获得对象,包括了getElementById, getElementsByTagName, getElementsByName,获得到指定对象后,如果内部还有节点的层级关系,就用ChildNodes方法来进入下一层。我这里用了2次,先进入<ul>这层,然后进入<li>这层。
我这里用到是chrome自带的审查元素工具。 回复 1# tmdbt100200
哈哈~这样算不算作弊啊~嘿嘿~Dim arrList
arrList = Browser(" - 51Testing软件测").Page(" - 51Testing软件测").WebElement("html id:=typeid_ctrl_menu").GetROProperty("innerHTML")
arrList = Replace(arrList,"<UL>","")
arrList = Replace(arrList,"</UL>","")
arrList = Replace(arrList,"</LI>","")
arrList = split(arrList,"<LI",-1,1)
For i = 0 to ubound(arrList)
arrList(i) = mid(arrList(i),instr(1,arrList(i),">")+1)
print "arrList(" & i & ") = " & arrList(i)
Next 回复 3# 泰然
学习了~ 高手真多 不光授之以鱼还授之以渔 学习啦 很多时候QTP自身的ChildObjects方法在web系统中不太好用,更多的是用.object.getElement系列的方法来获得对 ...
泰然 发表于 2012-12-14 15:25 http://bbs.51testing.com/images/common/back.gif
没想到还能这么做,真是大开眼界啊!服了 回复 4# 黑羽祭
谢谢版主啊,居然有那么多的办法,学习了
页:
[1]