戒情人 发表于 2009-9-21 12:43:51

如果WEB中的表格也被识别成WebElement,那怎样取得一个单元格数据(cell data)

如果WEB中的表格也被识别成WebElement,那怎样取得一个单元格数据(cell data)?

liujinkui 发表于 2009-9-21 13:49:43

看看他的思路是否对你有所启发,我没有测试过B/S
http://bbs.51testing.com/thread-170789-1-1.html

daijianfeng 发表于 2009-9-21 16:04:05

添加对象时,QTP会自动识别到web element那一层,你就添加上一层对象“webtable”,,取值时直接取:
Browser("##").Page("##").WebTable("##").GetCellData(2,4),注意你那单元格是第几行第几列就好了

戒情人 发表于 2009-9-21 16:56:18

楼上的朋友还需要请教你一下

楼上的朋友说的很好,我添加对象时也发现了这个问题,去添加表格中具体一个单元格时,上一层对象就是“webtable”,按理说就是那个表格了,可是去添加上一层对象“webtable”后,用Browser("##").Page("##").WebTable("##").GetCellData(A,B),然后再用msgbox方法把取得的内容显示出来,可是显示出来的内容是空,不知道是怎么回事,请问你用这种方法在解决具体问题的时候有成功的经验吗?

小_麦 发表于 2009-9-21 17:23:05

这种方法一般是可以的,建议你反键查看一下源文件,你显示空值有可能是你行列输入错了,可能存在没有宽度的单元格让你的行列输入错误。。

daijianfeng 发表于 2009-9-21 17:32:16

戒情人,你好
你的情况可能是行和列搞错了,字段可能就是webtable的第一行,列可能存在空列,你可以查查看 问题肯定在这

戒情人 发表于 2009-9-21 17:34:44

朋友们太厉害了

谢谢大家,按你们的方法我实现了。这个方法即简单又好用,可是唯一的问题现在是,我明明是GetCellData(2,2),可是得出来的确实第一行第一列的值,不知道是怎么回事?

daijianfeng 发表于 2009-9-21 17:36:53

我在上面已经说了,你的第一行是字段名,你的第一列是空列(或者有别的单选框之类的),所以你要取的值是(2,2),你可以咨询下开发的,看他的table怎么写的

daijianfeng 发表于 2009-9-21 17:52:21

你可以object spy下,来看下webtable的属性,那里会显示几行几列,然后你可以很准确的定位你要的数据是几行几列的:victory:

戒情人 发表于 2009-9-21 17:52:50

太感谢你了

现在我用(1,1)得到的是空,如果第一行是字段名,第一列是空列,那么(1,2)是否应该是得到第一列的列名呢?我用(1,2)得到的还是空。

戒情人 发表于 2009-9-21 17:57:13

回复 9# 的帖子

非常感谢你,和你说的一样,从程序界面上看那个表格是7行2列,但是通过object spy看,却是8行3列。

daijianfeng 发表于 2009-9-21 18:00:27

你代码怎么写的?
msgbox Browser("##").Page("##").WebTable("##").GetCellData(1,2),应该结果是第二列的列名

戒情人 发表于 2009-9-21 18:30:25

我就是那么写的

我就是那么写的,得到的是空,不知道为什么。取表格的数据只要行和列各加1就可以正常取数据。非常感谢你的帮忙。

sean007 发表于 2009-9-22 11:53:38

object spy 看下 你所看到的 表格 里面到底他的行列到底是多少的!

kevin_swpi 发表于 2009-9-22 12:12:39

Browser("##").Page("##").WebTable("##").GetRowCount
Browser("##").Page("##").WebTable("##").GetColumnCount()
你先打出这些值,就知道行列各是多少了

因为有可能开发因为界面上的一些需要
所以会放置一些空列(这个我就遇到了 呵呵)

--------------题外话
关于楼主的这个问题最起先我也遇见过
其实直接用描述性编程来解决就是不用管webtable被识别成什么 或者webtable被一些div层被包住

戒情人 发表于 2009-9-23 15:47:18

非常感谢大家

就像大家说的那样,我问开发人员了,是把字段名那一行当做了第一行,并且有一个隐藏了的列。大家非常热情,我非常感动
页: [1]
查看完整版本: 如果WEB中的表格也被识别成WebElement,那怎样取得一个单元格数据(cell data)