uft 中的参数数量错误或无效 属性 赋值

Wrong number of arguments or invalid property assignment in uft

提前致谢 :) 我可以使用 uft 12.2 中的 columncount 方法获取行数,但不能获取列数。它简单地在 AccNoCol=AccNoTB.ColumnCount 错误数量的参数或无效的 属性 赋值处抛出错误:'AccNoTB.ColumnCount'。我知道这里的列数是 8,但是它们是动态的,并且存在在脚本中对列数进行硬编码的风险。你能指出正确的吗?再次感谢

Set AccNoTB=browser("title:=.*").page("title:=.*").webtable("column names:=;Account No;Account Name;Billing City;Website;Phone;Assigned To;Action","cols:=8")

AccNoRow=AccNoTB.RowCount

AccNoCol=AccNoTB.ColumnCount

AccTBvalue=AccNoTB.GetCellData(AccNoRow,AccNoCol)

MsgBox AccTBvalue`

WebTable 中每行的列数可能不同,因此 ColumnCount 需要一个参数来向 UFT 指定您感兴趣的行的列数。

A row can have
<table border=1>
  <tr><td>One</td></tr>
  <tr><td>or</td><td>two</td></tr>
  <tr><td>or</td><td>even</td><td>more</td></tr>
</table>
Columns

获取[=的两种简单方法34=] 计数。

请注意,我已经从对象描述中删除了 "cols:=8",假设 WebTablt 由 column names 识别。

Set AccNoTB=browser("title:=.*").page("title:=.*").webtable("column names:=;Account No;Account Name;Billing City;Website;Phone;Assigned To;Action")

获取行数的两种方法

AccNoRow = AccNoTB.GetROProperty("rows")    '<-- 1
AccNoRow = AccNoTB.RowCount                 '<-- 2

获取列数的两种方法

AccNoCol = AccNoTB.GetROProperty("cols")    '<-- 1
iRow = 2
AccNoCol = AccNoTB.ColumnCount(iRow)        '<-- 2 This way is useful when you have different columns in different rows.

现在让我们以@Motti 给出的例子为例。在这种情况下,我们将 运行 循环并获取列数。

Set AccNoTB=browser("title:=.*").page("title:=.*").webtable("column names:=;Account No;Account Name;Billing City;Website;Phone;Assigned To;Action")
AccNoRow = AccNoTB.RowCount

For i = 1 To AccNoRow
    AccNoCol = AccNoTB.ColumnCount(i)
    Print "Row " & i & " has " && " column/s."
Next

输出:

Row 1 has 1 column/s.
Row 2 has 2 column/s.
Row 3 has 3 column/s.
set a=Browser("OrangeHRM").Page("OrangeHRM_2").WebTable("micclass:=WebTable","html tag:=TABLE")

co=a.RowCount

MsgBox co
'set b=Browser("OrangeHRM").Page("OrangeHRM_2").WebTable("micclass:=WebTable","html tag:=TABLE")

col=b.ColumnCount

MsgBox col