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
提前致谢 :) 我可以使用 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