Webテーブルの特定の行をクリックするのに苦労しています。私のコードは適切な行を見つけていますが、子アイテムメソッドを使用すると、オブジェクトが見つからないと文句を言います。これが私のコードです:
_Desc = "Record to click"
If Browser("B").Page("P").WebTable("W").exist(10) Then
totalRows = Browser("B").Page("P").WebTable("W").RowCount()
For RowNum = 1 To totalRows
If aDesc = Browser("B").Page("P").WebTable("W").GetCellData(RowNum,2) Then
Browser("B").Page("P").WebTable("W").ChildItem(RowNum,2,"WebElement",0).click
End If
Next
End If
_
Web Elementである行の値をスパイしましたが、Linkを使用しようとしましたが機能しませんでした。また、私はChild Item(aDesc,2,"WebElement",0)
-も機能しませんでした。行には単純なテキストという要素が1つしかないため、インデックスに0を使用しました。他の多くのテストでもこのエラーが発生し続けます。まれに、このアプローチが一部のテストで機能することがありますが、ほとんどの場合、オブジェクトがないことを訴えます。
手伝ってくれてありがとうございます!
それは私にも起こりました。調べてみると、古いHPブログのいくつかで、ChildItemメソッドがWEBElementで正しく機能しないことがわかりましたが、それはQTP 9.0の場合で、12.02を使用していました。とにかく、なぜそれが起こったのか理解できず、終了しました。以下を使用してアップ-
Set oExcptnDetail = Description.Create
oExcptnDetail("micclass").value = "WebElement"
oExcptnDetail("html tag").value = "TD"
Set chobj=Browser("").Page("").WebTable("Code").ChildObjects(oExcptnDetail)
chobj(0).Click
ちなみに、特定の行と列にwebelement/linkが存在することを確認するには、以下を使用します。
Browser("B").Page("P").WebTable("W").ChildItemCount(2,2,"WebElement")
Getcellデータは、それが何であるか(link、webelementなど)に関係なく、目的の行と列にあるものをすべて返すため、ループが失敗するかどうかの仮定が返されます。
テーブルの最初のリンクをクリックしようとしましたが、このコードでアイテムをクリックしました
Set oDesc = Description.Create()
oDesc("html tag").Value = "A"
Set rc = Browser("B").Page("A").WebTable("html id:=gridTable").ChildObjects(oDesc)
rc(0).Click
'num = rc.Count() 'get the number of link in a page
'For i=0 to num-1
'ref = rc(0).GetROProperty("href") 'get the “href”propety of the i th link
'MsgBox ref
'Next
または
Browser("B").Page("A").WebTable("html id:=gridTable").ChildItem(2,8,"Link",0).click
必要なリンクを正常にクリックします
これを試して:
Browser( "B")。Page( "P")。WebTable( "W")。object.rows(rownum-1).cells(colnum-1).Click