51Testing软件测试论坛

标题: 使用ChildItemCount无法获取临时弹出的webtable中的WebElement [打印本页]

作者: shirley5229    时间: 2015-6-2 11:24
标题: 使用ChildItemCount无法获取临时弹出的webtable中的WebElement

如下图,点击“增加条目”,弹出表格
[attach]95613[/attach]可以选择一行将信息填入WebEdit中,或者切换焦点后,表格消失
[attach]95614[/attach]

现在我想实现弹出表格后,鼠标点击一行,实现添加项目信息的功能
With  XXXXXX

        .WebButton("增加条目").Click
        .WebTable("项目表").FireEvent "onmouseover"      '表格存在对象库中为“项目表”
           row=.WebTable("项目表").RowCount        
         MsgBox row                                        '调试时显示为3
        MsgBox  .WebTable("项目表").ChildItemCount(1,1,"WebElement")          '提示0
        .WebTable("项目表").ChildItem(1,1,"WebElement",0).Click         
end  with


使用Object Spy探查表格中控件确实为WebElement,为何获取不到?请大神们指导

作者: jingzizx    时间: 2015-6-2 15:17
看代码没什么问题啊,要不加个等待时间试试
作者: shirley5229    时间: 2015-6-3 08:48
加等待时间也不行,查出的webElement还是0
作者: msj333000    时间: 2015-6-9 14:20
二种方法你可以试试:
  一、你可以把获取到的WEBELEMENT的innertext值 输出看看,是不是你spy的属性值
  二、第一种方法不理想,只有webtable的所有行列值输出,可以看出你要的值在什么行和列,Webtable的行、列值有时并不是你的眼睛所看到的,会欺骗 呵呵
作者: msj333000    时间: 2015-6-9 14:22
我的回复呢
作者: msj333000    时间: 2015-6-9 14:29

MsgBox  .WebTable("项目表").ChildItemCount(1,1,"WebElement")          '提示0 这说明 1,1不存在"WebElement"的对象
这个问题你可以这样试试:
如果你语句熟悉,你可以把webtable的行、列内容值全部输出,不熟你可以依次增加行、列值如:1,1 1,2  1,3  2,1,2,2 等 逐一试下

作者: shirley5229    时间: 2015-6-15 14:55
msj333000 发表于 2015-6-9 14:29
MsgBox  .WebTable("项目表").ChildItemCount(1,1,"WebElement")          '提示0 这说明 1,1不存在"WebE ...

用spy获取了webelement,结果啥也没获取出来,估计这种方式不行;ChildItemCount其他序号也都试了,都为0

作者: msj333000    时间: 2015-6-17 13:24
shirley5229 发表于 2015-6-15 14:55
用spy获取了webelement,结果啥也没获取出来,估计这种方式不行;ChildItemCount其他序号也都试了,都为0[ ...

有可能在WebTable中没有WebElement这个对象
你可以尝试下WebTable表的值全部输出看看:
row=.WebTable("项目表").RowCount  
i=1
Do while i<=row
    col=.WebTable("项目表").ColumnCount
    j=1
    Do While j<=col
       MsgBox .WebTable("项目表").GetCellData(i,j)     
    End Do
End Do

作者: msj333000    时间: 2015-6-17 13:26
msj333000 发表于 2015-6-17 13:24
有可能在WebTable中没有WebElement这个对象
你可以尝试下WebTable表的值全部输出看看:
row=.WebTable ...

上面语句有失误,更正如下:
有可能在WebTable中没有WebElement这个对象
你可以尝试下WebTable表的值全部输出看看:
row=.WebTable("项目表").RowCount  
i=1
Do while i<=row
    col=.WebTable("项目表").ColumnCount(i)
    j=1
    Do While j<=col
       MsgBox .WebTable("项目表").GetCellData(i,j)     
    End Do
End Do

如果有输出你要显示的值,就不需要再用WebElement对象了




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