QTP中,getcelldata取到的webtable中的值,其中一列为空...找不到原因
部分代码如下:只有第1列的值为空...
看看各位大虾的解决方案^^
a = Browser("软酷.人力资源引擎").Page("项目经理管理平台 - 软酷.人力资源引擎_2").Frame("mainRight").WebTable("个人邮箱").GetCellData("2","1")
msgbox (a) 肯定是定位单元格错误,你需要的值没在这个单元内,仔细检查下 LZ应该调试一下代码,更改一个GetCellData("2","1"),取值,看看是否都没有值 我都快晕死了,我将每一行的第一列都打印出来了,只有列的标题有值(说明列取的是正确的),但其它都为空.
代码如下:
b = Browser("软酷.人力资源引擎").Page("项目经理管理平台 - 软酷.人力资源引擎_2").Frame("mainRight").WebTable("个人邮箱").RowCount
msgbox (b)
For i = 1 to b
a = Browser("软酷.人力资源引擎").Page("项目经理管理平台 - 软酷.人力资源引擎_2").Frame("mainRight").WebTable("个人邮箱").GetCellData(i,1)
msgbox (a)
print a
Next 还有,我本想用数组将所有单元格都遍历出来,但是用rowcount可以,用ColumnCount就报错(参数错误),又晕了... 那你试试看从有第二列的那行开始将第2列的值打出来看看,看会不会报错~~
这种情况往往是因为你取的webtable嵌套了多层,而很不幸的是你取错了层次。一般情况下都是去取用spy看到的最内层的那个webtable,当然有时候也需要取其它层次的webtable,比如需要唯一确定webtable对象的时候~ 原帖由 dalinangel 于 2008-8-5 16:20 发表 http://bbs.51testing.com/images/common/back.gif
还有,我本想用数组将所有单元格都遍历出来,但是用rowcount可以,用ColumnCount就报错(参数错误),又晕了...
晕之前请先看看QTP的帮助文档,也许就把你救活了!
Description
Returns the number of columns in the table.
Syntax
object.ColumnCount (Row)
Syntax Details
Argument Description
object A test object of type WebTable.
Row Required. A Long value. The row number. The first row in the table is numbered 1.
遍历一个WebTable的方法:
For I=1 to Browser("XXX").Page("XXX").WebTable("XXX").RowCount
For J = 1 to Browser("XXX").Page("XXX").WebTable("XXX").ColumnCount(I)
Msgbox Browser("XXX").Page("XXX").WebTable("XXX").GetCellData(I,J)
Next
Next 我遍历了,只有第一列的值为空,是为空,并不是没有取到...
刚看了下网页的原代码,搞明白了值为空的原因,但怎么取值还没有搞定...
原因:
开发为了用样式控制字符串的截断,但又不想用DIV+CSS,所以,在单元格内又嵌入了一个文本框,然后将值传给文本框...这样就导致我用getcelldata取值为空...
<td height="25" bgcolor="#FFFFFF" class="a105" class="textOverflow">
<input type="text" id="out_email" readOnly="true" value='wangmaolin@broadengate.com' />
</td>
<td bgcolor="#FFFFFF" class="textOverflow"><div align="center" class="a105"><a href="#" onclick="window.open('/portal/engResumePreview.html?method=search&appliedUserId=829')" class="a1">@@###</a></div></td>
这问题搞了这么长时间才弄明白原因,谢谢楼上几位大虾的帮助啦! 我也想知道这个问题怎么解决阿 还是那个办法
你需要加个wait问题就解决了
运行时候太快
可能就会取不到值 晕之前请先看看QTP的帮助文档,也许就把你救活了!
Description
Returns the number of columns in ...
陈能技 发表于 2008-8-5 22:24 http://bbs.51testing.com/images/common/back.gif
我按照这个代码弄了一下,也碰到这样的问题,遍历的时候第一行和第一列都不会显示的,纠结了,咋办呢?! 顶6楼,几乎可以确定是webTable的层级取错了,一般webTable会存在2层以上,每个webtable都遍历输出一次看。这个东西还没研究清到底应该取的那层有什么特点
页:
[1]