51Testing软件测试论坛

标题: 求救:关于Webtable取值问题 [打印本页]

作者: renshaohai    时间: 2007-11-2 18:10
标题: 求救:关于Webtable取值问题
如图,有一个12列的表格,求得Browser("节目信息新增").Page("节目信息新增").WebTable("集号").RowCount的行数等于5,

想要取到图中集号=1这个WebEdit的数据

试过想下列方法,都没有得到值,请教解决办法。
第一种:
i=Browser("节目信息新增").Page("节目信息新增").WebTable("集号").GetCellData(2,2)
Msgbox(i)

第二种:
i=Browser("节目信息新增").Page("节目信息新增").WebTable("集号").ChildItem(2,2,"WebEdit",0)
t=i.GetROProperty("value")
Msgbox(t)

第三种:
i=Browser("节目信息新增").Page("节目信息新增").WebTable("集号").Object.rows(1).cells(1).innerText
Msgbox(i)
作者: walker1020    时间: 2007-11-2 23:58
从理论上来说,使用 GetCellData 或ChildItem 都可以得到你要的数据。关键问题是,GetCellData 后的两个参数都是2 吗? 你运行一下下面的语句,看看i 和 j分别是什么值时可以得到你要的数据。

   count = Browser("节目信息新增").Page("节目信息新增").WebTable("集号").RowCount

For  i = 1 to count
   For j =1 to 12
        data =Browser("节目信息新增").Page("节目信息新增").WebTable("集号").GetCellData(i,j)
      Msgbox(data )
  Next
Next
作者: walker1020    时间: 2007-11-2 23:59
作为一个称职的测试人员,一定要调试脚本的能力
作者: renshaohai    时间: 2007-11-5 10:09
谢谢walker1020!我加了循环之后,所有行都得到了运行错误“缺少对象: '[string: ""]'”,不知是怎么回事?
作者: renshaohai    时间: 2007-11-5 10:39
下面是上图TABLE的代码。
<table id="mutliTabel" border="0" cellspacing="0" cellpadding="0" class="Tabletwo" bgcolor="white">
         <tr id="Title">
     <td width=2%></td>
    <td width=2%>集号</td>
        <td width=7%>中文子标题</td>
        <td width=7%>英文子标题</td>
        <td width=7%>单集时长</td>
        <td width=7%>图象质量</td>
        <td width=7%>文件大小</td>
        <td width=7%>发布点</td>
        <td width=7%>FTP发布点</td>
        <td width=7%>播放序号</td>
        <td width=20%>生效日期</td>
        <td width=20%>失效日期</td>
   </tr>
   
   <tr class="common02" style="display:none">
     <td align="center"><input type="checkbox" name="multiSelect" value=""/></td>
         <td class="num01"><input name="multi" type="text" maxlength="4" class="detail_input01" value="1"/></td>
     <td class="num01"><input name="multiCn" type="text" maxlength="100" class="detail_input01" value=""/></td>
     <td class="num01"><input name="multiEn" type="text" maxlength="100" class="detail_input01" value=""/></td>
     <td class="num01"><input name="multiTime" type="text" maxlength="4" class="detail_input01" value=""/></td>
     <td class="num01"><input name="imageQuality" type="text" maxlength="32" class="detail_input01" value=""/></td>
     <td class="num01"><input name="fileSize" type="text" maxlength="32" class="detail_input01" value=""/></td>
     <td class="num01"><input name="release" type="text" maxlength="128" class="detail_input01" value=""/></td>
     <td class="num01"><input name="ftpRelease" type="text" maxlength="128" class="detail_input01" value=""/></td>
     <td class="num01"><input name="playSeq" type="text" maxlength="4" class="detail_input01" value="1"/></td>
         <td class="num01"><input name="beginDate" type="text" maxlength="8" class="detail_input01" value ="20071105"/></td>
     <td class="num01"><input name="endDate" type="text" maxlength="8" class="detail_input01" value ="20991231"/></td>
   </tr>
</table>
作者: renshaohai    时间: 2007-11-5 15:58
顶!困在这个问题上2天了,请各位大虾指点!
作者: renshaohai    时间: 2007-11-5 16:26
试过使用描述性语句,这回是往table里面插入值,也没有成功


代码:
Set desc = description.Create()
desc("micclass").value="WebEdit"
Set p= Browser("节目信息新增").Page("节目信息新增").WebTable("集号").ChildObjects(desc)
p(1).set "3"

显示错误信息:常规运行错误
作者: renshaohai    时间: 2007-11-5 18:13
有了一些进展,下列代码,检查checkbox已经可以正确显示,可是在第一个if语句得到的结果是“缺少对象: '[string: "1"]'”,循环后依次显示找不到对象1,2,3  ,为什么找不到对象呢?

t=Browser("节目信息新增").Page("节目信息新增").WebTable("集号").RowCount

For chk=3  to t  
                set  webeditobj=Browser("节目信息新增_2").Page("节目信息新增").WebTable("集号").ChildItem(chk,2,"WebEdit",0)
                Set i =webeditobj.GetROProperty("value")
If i=chk-2  Then
         
        msgbox"集号正确,集号为"&i&""
        else
        msgbox"集号错误,集号为"&i&""
End If
                  
Set webChkObj= Browser("节目信息新增").Page("节目信息新增").WebTable("集号").ChildItem(chk,1,"WebCheckBox",0)
If webChkObj.object.checked=false Then
        msgbox"第"&chk-2&"条选项没有被选中"
else
        msgbox"第"&chk-2&"条选项被选中"
End If

Next
作者: hsjzfling    时间: 2007-11-5 21:09
Set i =webeditobj.GetROProperty("value")
将这句的set去掉
作者: renshaohai    时间: 2007-11-6 10:13
谢谢。问题解决了。是不是返回的是值的话就不用“SET”,如果返回的是对象的话就要加“SET”吗?
作者: hsjzfling    时间: 2007-11-6 10:22
嗯,将对象赋给变量才需要Set,否则会报对象找不到




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2