关于如何动态得到webtable对象集合中TR和TD对象

我们知道webtable是由TR 和 TD 组成的,那么如何动态得到这些TR和TD对象

**************************************************************************************************************************

1、假如QTP录制页面脚本,web页面有一个webtable,而却这个webtable脚本回放时,数据行的数据是变化的,我们可能需要对

某一列的所有单元格中的TO属性进行编辑(Set),这时候我就需要的这些单元格的对象,好了,下面进入正题:

 

<1>首先我们通过描述性编程得到我们要操作的webtable对象

   Dim oWebTableDesc
   Set oWebTableDesc = Description.Create
   oWebTableDesc("html id").value = "dgdPlanList" --(这个是html页面中datatble的id,如果页面没有指定,希望指定一下,如果页面中有多个Webtable时,这种指定,描述性编程我们很容易得到 )

   oWebTableDesc("html tag").value = "TABLE"

   Set oTableList = Set allTable = Browser("Browser").Page("页面名称").Frame("right").ChildObjects(oWebTableDesc) --得到一个table集合,如果页面中每个tableid都是唯一的话,那么通过html id 得到的这个集合只有一个table

  dim cloumncount : cloumncount = oTableList.cloumnCount(RowIndex)--指定需要的某一行的列(当然也可以通过循环得到某一行的所有列)比如:

 dim rowCount : rowCount = oTableList.RowCount

  for rowIndex = 0 To rowCount -1

           cloumncount = oTableList.cloumnCount(rowIndex)

  Next

 

  '对TR和TD对象进行描述性编程

  Set oTRAndTDDesc = Description.Create()

  oTRAndTDDesc("micclass").Value ="WebElement"

  Set oTRAndTDList =oTableList(0).ChildObjects(oTRAndTDDesc) -- 得到的集合里面有webTable包括所有的TR和TD,还有其他文字内容,我们只需要找出我们所需要的TR和TD对象,存在到Scripting.Dictionary对象中

 

  Set  objList = CreateObject("Scripting.Dictionary")

  for i=0 to oTRAndTDList.Count()-1
  'print oTRAndTDList (i).GetROProperty("html tag") & i
   If  oTRAndTDList (i).GetROProperty("html tag") = "TD" Then
        objList.add "td"&i, oTRAndTDList (i) '将td对象存在到"Scripting.Dictionary"对象中(获取TR对象也是一样的
    End If
Next


'遍历"Scripting.Dictionary"对象集合中对象
For objIndex = 0 To objList.Count -1
      objIndex = objIndex + cloumnCount -1 '指定我们需要的列的单元格,这里是最后一列的所有单元格
       If Cint(objIndex) > Cint( objList.Count-1) Then  '如果超出了"Scripting.Dictionary"对象集合,直接退出循环
                Exit for
        End If
        'msgbox objIndex
         obj = objList.Items '"Scripting.Dictionary"对象中所有项
         set tdObj = obj(objIndex) '得到我们需要的td对象
         'msgbox hh.GetROProperty("innertext") 'td的RO的属性
Next

 

**************************************************************************************************************************

 

以上个人自学所悟得到

你可能感兴趣的:(html,编程,Web,脚本,table,browser)