Micro Focus QTP (UFT) Forums

Full Version: Three filters to get object count
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
How do I use three filters to grab the count of web objects on a page?

I want to get the number of objects on a page where the objects have these values:

micClass = WebElement
html tag = SPAN
x = 180

Here is the code I have so far:

=================================================

Code:
'Gather the number of filtered objects on the website.

On Error Resume Next
webCount = 0
Set Doc = Browser("micClass:=Browser").Page("micClass:=Page").Object

'Loop through all the objects in the page.

For Each Element In Doc.all
If Element.TagName = "SPAN" and Element.x = 180 then
webCount = webCount + 1
End If
Next

Msgbox "The number of objects are " & webCount
=================================================

The msgbox should come back with a count of 4 instead it comes back as 93.

Any ideas?

SBsteven
you should look in the page child objects not in the page.object also you have not serached for webElement object.
try the code below
Code:
Set Desc = Description.Create()
Desc("micclass").Value = "WebElement"
Desc("html tag").Value = "SPAN"
Desc("X").value = 180

Set Doc = Browser("micClass:=Browser").Page("micClass:=Page").ChildObjects(Desc)

MsgBox "Number of Edits: " & Doc.Count

Sorry for the typo, Please read Number of webelements in the last statement.
Saket,

Thanks much for helping me out with this. I feel that I am much closer now. But when running your code I am getting a "General Run Error" on this line:

Code:
Set Doc = Browser("micClass:=Browser").Page("micClass:=Page").ChildObjects(Desc)
And I am unsure why. Do you or anyone here have any ideas?

Thanks!!
SBsteven
I finally have the answer. After posting on a few message forums and some Google searching, here is the code that works..YAY!

==========================================================
Code:
Dim oDesc        'Description Object
Dim colObject    'Object Collection

    Set oDesc = Description.Create
    oDesc("micclass").Value = "WebElement"
    oDesc("html tag").Value = "SPAN"
    oDesc("x").Value = 180

Set colObject = Browser("micClass:=Browser").Page("micClass:=Page").ChildObjects( oDesc )

'Retrieve the count
iCount = colObject.Count

msgbox iCount
=========================================================

SBsteven