QTP11では、ドロップダウンリストボタンを処理するために以下のような関数を持っています。HTML 構造は次のとおりです。
Sub FindDropdown(text) ' ページとテキストをパラメータとして取得 counter = 0
Set oDesc = Description.Create()
oDesc("html tag").Value = "tr"
Set trContent = Browser("Change Management - SAP").Page("Change Management - SAP").ChildObjects(oDesc)
TRSum = trContent.Count()
For i = 0 To TRSum - 1
Set objPage = trContent(i).Object
Set objTag = objPage.GetElementsByTagName("td")
spanSum = objTag.Length - 1
For intCtr = 0 to spanSum
strLink = objTag(intCtr).InnerText
If strLink = text Then
trContent(i).Object.click()
End If
Next
Next
Set oDesc=nothing
End Sub
私がテストしたところ、内部要素 Select All が認識されましたが、アクション (クリックなど) を実行できませんでした。実際、コード: trContent(i).Object.click() は効果がないようです。
これは、リスナー/イベント ハンドラーの場所と関係がありますか? リスナーなどは TR または TD 要素ではありませんか?