2017-11-14 7 views
1

私はこのコードを最初の行と1つの列だけをクリックするだけです。ウェブテーブルの特定の行をクリックする方法

Set oExcptnDetail = Description.Create 
oExcptnDetail("micclass").value = "WebElement" 
oExcptnDetail("html tag").value = "TD" 
Set chobj=Browser("").Page("").WebTable("Code").ChildObjects(oExcptnDetail) 
chobj(0).Click 

上記のコードを使用して特定の行をクリックするにはどうすればよいですか?

私は動作しなかった子アイテムを使用しました。

set objLink = Browser("bb").Page("bb").WebTable("Name_2").ChildItem(4, 1, "WebElement",0) 

更新1

Iは、以下のコードを試みました。これは、行をクリックしなかった3 COL 1

Set desc = Description.Create 
desc("html tag").value = "TR" 
Set rows = table.ChildObjects(desc) 
desc("html tag").value = "TD" 
Set cells = rows(3).ChildObjects(desc) 
Set TableCell = cells(1) 
Browser("").Page("").WebTable(TableCell).Click 
+0

あなたの 'set'文があまりにも長い間、あなたが行のために行くされているとして、正常に見えます4列1の場合、その位置のセル内の要素は 'WebElement'であり、最初の項目' UFT'でその要件に一致するものが見つかるようにします。あなたはそれの外見から 'objLink.Click'が必要です – Dave

答えて

1

UFTのChildItem機能は、これはそれがだけその子孫、セルであることをTDを返さないことを意味し、細胞内を含まの要素を返します。

セル自体を取得するには、WebTable.Cellを使用する必要があります。これはUFTの比較的新しい機能であり、それを持たないかもしれません。そうしないと、あなたは(私はそれをチェックアウトせずにこれを書いている注意し、それは追加の作業やエラー処理が必要な場合があります)、このようにヘルパー関数を書くことができる必要があります:

Function TableCell(table, nRow, nCol) 
    Set desc = Description.Create 

    desc("html tag").value = "TR" ' Or "T[RH]" to capture TH too 
    Set rows = table.ChildObjects(desc) 

    desc("html tag").value = "TD" 
    Set cells = rows(nRow).ChildObjects(desc) 

    Set TableCell = cells(nCol) 
End Function 

次にあなたが使用することができますRegisterUserFunc必要に応じてWebTable.Cellとして使用してください。

TableCell(Browser("").Page("").WebTable("Code"), 4, 1).Click 

をそれとも、RegisterUserFuncを使用した場合Cellとして登録するために:

次に、あなたはこのようにそれを使用することができ

Browser("").Page("").WebTable("Code").Cell(4, 1).Click 
+0

私は完全に理解しませんでした。クリックは表示されません。セルを設定したら、どのようにしてセルをクリックできますか? – bugfinder

+0

@bugfinder答えに使用法を追加しました – Motti

+0

私はRegisterUserFuncを使用しませんでした。いくつかの行で動作し、他の行では動作しませんでした。行が6の場合、それは機能します。行が9の場合、動作しません。私はあなたのコードが正しいと思います。アプリケーションと何かありがとう。 – bugfinder

関連する問題