|
各位同仁,最近在工作要用到qtp,遇到对webtable的字段检查的问题,比较困惑,希望能坛子里找到解决的办法,多多指点。
这是在frame下的webtable,如图所示
希望得到"已加载"的字段来作检查。
用 Object Spy 学习此字段为frame.webtable.webtable.webtable.webelement,
当然spy成webelement是没办法的,但可以看出3个表的嵌套.
代码如下:
Dim i,j,n,m,k,num,obj,webobj,webtbl
Set webtbl=description.Create
webtbl("micclass").value="WebTable"
webtbl("html tag").Value = "TABLE"
set webobj=Browser("Browser").Page("Browser").Frame("设备信息加载").ChildObjects(webtbl)
num=webobj.count
'居然有10个table,后来发现很多空表
msgbox "tables sum:" &num
For j=0 To num - 1
Set obj=webobj(j)
m=obj.RowCount
For i=1 to m
n= obj.ColumnCount (i)
'统计显示每个table下各有多少的行和列
msgbox "table:"& j +1 &"rows:" & m &"columns:" & n
For k = 1 to n
'显示每个table里每个cell的值
msgbox "table:"& j +1 & "row:"& i &"column:" & k &"cell:"& obj.GetCellData (i,k)
Next
Next
Next
'发现想要的值在第7个webtable里,但是只有一行一列,也就是说把整个字段标记为了一个cell.
也就是图中红色框中字符连成成串为cell的值,checkbox为一个空格
其他webtable没能找到这样的字段了。
'我在想图中所见的每个格为什么就不是表的一个cell呢?实在不行就只好把整个字段分解得到期望字段了。
其次,spy看到嵌套3个表,就做了下面的尝试
Dim desobj,num,obj,webobj,webtbl
统计webelement个数
Set desobj=description.Create
desobj("micclass").value="WebElement"
desobj("html tag").Value = "TD"
--------------------------
或者统计子表个数
Set desobj=description.Create
desobj("micclass").value="WebElement"
desobj("html tag").Value = "TD"
--------------------------------
Set webtbl=description.Create
webtbl("micclass").value="WebTable"
webtbl("html tag").Value = "TABLE"
'for遍历webtable 的index ,10个webtable
set webobj=Browser("Browser").Page("Browser").Frame("设备信息加载").WebTable(webtbl).ChildObjects(desobj)
num=webobj.count
'居然无论是用webelement还是子表,每个webtable中num都为空
不知道我所有的操作有什么不妥,我也是才搞几天QTP,还理解不是很深。搜索了相关帖子还是没解决,
现在就是要得到表中的字段,往指点迷津,谢谢。 |
|