Harish, your observation is absolutely correct. The thing with that
page is that, both radio groups have the same name which is why I used
the location identifier to identify the second group which has a
disabled button. getElementsByName returns 6 because it returns items
from both radio groups.

On Apr 23, 7:27 am, "sh.varma" <[email protected]> wrote:
> Hi,
>
> Thank you for sharing your knowledge.
>
> I have a doubt, parentNode property is returning only three objects,
> but getElementsByName method is returning six objects in the 
> page,http://www.javascripter.net/faq/disablin.htm
>
> Do not check any radio button, then the result is displayed as,
> (I guess, it is returning first three objects)
>
> Value: download
> Selected: False
> IsDisabled: False
> Value: regular mail
> Selected: False
> IsDisabled: False
> Value: courier
> Selected: False
> IsDisabled: False (**)
>
> Check 5th radio button, then result is displayed as,
> (I guess, it is returning last three objects)
>
> Value: download
> Selected: False
> IsDisabled: False
> Value: regular mail
> Selected: True
> IsDisabled: False
> Value: courier
> Selected: False
> IsDisabled: True (**)
>
> Regards,
> Varma
>
> On Apr 23, 1:17 pm, Anshoo Arora <[email protected]> wrote:
>
>
>
> > Note: parentNode does return the parent object (if any) but at the
> > same time, it can also return an array of childNodes. The reason why
> > we need to access the childNodes in this case is because, we need to
> > access each button as accessing the radio group will not give us the
> > desired result. In other words, without accessing the child nodes, we
> > will only retrieve the status of the Radio Group.
>
> > Your code (both DOM & QTP) will retrieve all properties of the parent
> > object, or the selected object, not the child nodes.
>
> > I had tested this code here:http://www.javascripter.net/faq/disablin.htm
> > with the following exact steps:
>
> > Set oRadioGroup =
> > Browser("title:=Disabling.*").Page("micclass:=Page").WebRadioGroup("name:=r1","location:=1").Object.parentNode
>
> > For Each oRadio in oRadioGroup
> >     Print "Value: " & oRadio.Value
> >     Print "Selected: " & oRadio.Checked
> >     Print "IsDisabled: " & oRadio.Disabled
> > Next
>
> > Set oRadioGroup = Nothing
>
> > Guess, it doesn't work in all scenarios and looking at the HTML
> > structure of other pages, it certainly makes total sense. That means,
> > more R&D. :)
>
> > Corrected code:
>
> > Set oRadioGroup =
> > Browser("").Page("").Object.getElementsByName("NamePropertyOfTheRadioGroupObject")
>
> > For Each oRadio in oRadioGroup
> >         MsgBox oRadio.Checked
> > Next
>
> > --
> > You received this message because you are subscribed to the Google
> > "QTP - HP Quick Test Professional - Automated Software Testing"
> > group.
> > To post to this group, send email to [email protected]
> > To unsubscribe from this group, send email to
> > [email protected]
> > For more options, visit this group 
> > athttp://groups.google.com/group/MercuryQTP?hl=en
>
> --
> You received this message because you are subscribed to the Google
> "QTP - HP Quick Test Professional - Automated Software Testing"
> group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group 
> athttp://groups.google.com/group/MercuryQTP?hl=en

-- 
You received this message because you are subscribed to the Google
"QTP - HP Quick Test Professional - Automated Software Testing"
group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/MercuryQTP?hl=en

Reply via email to