Неверное количество аргументов или неверное назначение свойства в uft

Заранее спасибо :) Я могу получить количество строк, но не количество столбцов, используя метод подсчета столбцов в uft 12.2. Он просто выдает ошибку 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`

person nandesh kalyankar    schedule 24.09.2015    source источник


Ответы (3)


Количество столбцов в каждой строке в 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

person Motti    schedule 24.09.2015

Два простых способа получить количество строки и столбца.

Обратите внимание, что я удалил "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.
person ManishChristian    schedule 24.09.2015

person    schedule
comment
Объясните, что вы делаете и почему это ответ на вопрос - person dbmitch; 02.08.2016