我在qtp中使用 WebTable
对象的 GetCellData
方法来获取webtable的每个单元格值,该表格在多个页面中有多行并写入数据表 . 以下是我使用的代码:
For i = 2 to rowct
For j = 1 to colct
Datatable.Value(j+1,"sheet1") = trim(frame1.WebTable("table1" ).GetCellData(i,j))
Next
Next
在for循环之前获取行和列计数,如下所示:
rowct = frame1.WebTable("table1").RowCount
colct = frame1.WebTable("table1").ColumnCount(1)
但有时,我得到一些单元格的以下错误,到目前为止我看不到任何模式,这让我觉得这是一个随机的问题:
错误:指定的单元格不存在 . “
更多信息:
- 通常第一行有此错误:
请输入搜索 .
-
错误是在单元级别而不是在webtable / row级别 . 虽然在大多数情况下,我看到当一个单元格出现此类错误时,整个表格(因为我写入数据表格式)具有相同的错误 .
-
发生此类错误时,我看到提取的行数大于webtable中的实际行数 . 也就是说,如果实际表中有一行,那么我的数据表有5行(依此类推) . 这是随机的 .
for循环中的
i = 2
因为我不想要第一行,因为它包含 Headers .
被困在这一段时间,任何帮助都非常感谢!
1 回答
Web表每行可能包含不同数量的单元格,这就是
WebTable.ColumnCount
接受参数(行号)的原因 .试试这个: