2015-09-24 1 views
1

Спасибо заранее. Я могу получить количество строк, но не количество столбцов, используя метод columncount в uft 12.2. Он просто генерирует ошибку при AccNoCol=AccNoTB.ColumnCount Неверное количество аргументов или недопустимое присвоение свойств: «AccNoTB.ColumnCount». Я знаю, что количество столбцов здесь 8, но они динамичны. & существует риск жесткого кодирования столбца в скрипте. Не могли бы вы указать правильность? Еще раз спасибоНеверное количество аргументов или недопустимое присвоение свойств в uft

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` 

ответ

0

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

0

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

Обратите внимание, что я удалил "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. 
-1
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 
+0

Объясните, что вы делаете и почему это ответ на вопрос – dbmitch

 Смежные вопросы

  • Нет связанных вопросов^_^