views:

52

answers:

0

Hello and thanks for taking the time to read my question!

I am currently trying to automate some basic functionality in internet explorer for a few cases where the currently employed method does not work. To do this i am (due to the knowledge of the people i work with) creating some VBScript that uses the IE automation object.

I set out to create a small library that would allow a user to call a function with a an array attached that would contain attributes and expected values and would look through all the elements ont the screen and compare them to what the user wanted from his object and then once you had found the first match would return that element so that you could for example call .Click() on the object so that you would click on a link.

The problem i have run into is that my library to get the collection of all the objects on the screen uses the .All function of the Document that i have got from creating my IE window and this appears to have a severe limitation of not being able to drill down into IFRAMES that appear in that document so in mnay cases elements that are on the screen can not be identified as they exist in one of these iframes.

My idea was to get a collection of every iframe that exists in the web page and then turn that into an array of Documents and then i could iteratively search each one for the element that i wanted until i found it. The issue im having is how to get a hold of every IFRAME on a web page as it appears that in the AUT that IFRAMES can have more IFRAMES in them! My brain is telling me that recursion is going to be the answer but i for the life of me cant figure out how to make it work and am now in such a mood with myself that its becoming hard to think about anything without a pain.

Just because i talk about vbscript in this post i would not necessarily need a solution in that language as im sure i would be able to battle through converting it from one language to another!

Thanks for any help anyone can give me!