Thx a bunch guys !!! On Aug 17, 2011 8:28 PM, "Ethan" <[email protected]> wrote: > attach basically finds all the existing browsers by looping over > > WIN32OLE.new('Shell.Application').Windows > > and selecting those whose path looks like /Internet Explorer/ and then > picking the one which matches whatever criteria were given to the attach > function. the code in watir is rather labyrinthine, but that's the gist of > it. > > On Wed, Aug 17, 2011 at 16:24, Michael Mattera <[email protected] >wrote: > >> I've got everything connecting to the frames now that was awesome!!! One >> more thing, can you point me to the lines that Attach to browsers? If I can >> get that final step I think I'll be good to go! :D >> >> Mike >> >> >> On Wed, Aug 17, 2011 at 3:09 PM, Ethan <[email protected]> wrote: >> >>> if you have a WIN32OLE representing a <frame> or <iframe> you can get its >>> window and document via: >>> >>> frame_window = frame_ole_object.contentWindow >>> frame_document = frame_window.document >>> >>> >>> On Wed, Aug 17, 2011 at 14:14, Michael Mattera <[email protected] >wrote: >>> >>>> I bypass the WIN32OLERuntimeError so I'm about to access the frame's >>>> properties and the frame's name etc. However when I try to get the document >>>> it just returns me the main browser document, not the frame document. >>>> >>>> I've tried reading through those files Jarmo but like I said I'm new to >>>> ruby and I get a little confused. I'm trying to find out how given a >>>> browserObject.Document.frame I can get the >>>> browserObject.Document.frame.document so I can access those controls. >>>> >>>> I'll paste some of my personal source code to see if you guys can maybe >>>> give me a simple breakdown of what I'm missing. >>>> >>>> ["FRAME", "IFRAME"].each do |frame_tag| >>>> frames = @ie.Document.getElementsByTagName(frame_tag) >>>> frames.each do |frame| >>>> frame_document = get_frame_document(frame) >>>> >>>> control = find_control_for_document(filter_expression, frame_document) >>>> >>>> if(control != nil) >>>> return control >>>> end >>>> end >>>> end >>>> >>>> this is very similar to your loop that I found to get every frame in a >>>> DOM document. >>>> >>>> def get_frame_document(frame) >>>> document = nil >>>> >>>> begin >>>> document = frame.Document >>>> rescue WIN32OLERuntimeError => e >>>> end >>>> >>>> return document >>>> end >>>> >>>> this function returns me the frame's document. >>>> >>>> However when I try to access the DOM of that document I just get the >>>> original document's DOM not the Frame's...so I can never see the controls >>>> inside of the frame. I'm not sure how you guys wire up the frame object and >>>> the container to get around this >>>> >>>> On Wed, Aug 17, 2011 at 12:47 PM, Jarmo <[email protected]> wrote: >>>> >>>>> What is the WIN32OLERuntimeError you're getting? Is it access denied? In >>>>> that case read "Why do I get an access denied error when trying to access a >>>>> frame?" in wiki at http://wiki.openqa.org/display/WTR/Frames Maybe that >>>>> helps. >>>>> >>>>> All the relevant source code is visible at >>>>> https://github.com/bret/watir/blob/master/watir/lib/watir/frame.rb#L9-21 >>>>> >>>>> https://github.com/bret/watir/blob/master/watir/lib/watir/container.rb#L117-121 >>>>> and >>>>> https://github.com/bret/watir/blob/master/watir/lib/watir/locator.rb#L107-145 >>>>> >>>>> Jarmo >>>>> >>>>> >>>>> On Wed, Aug 17, 2011 at 5:59 PM, Michael Mattera < >>>>> [email protected]> wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> I'm new to Ruby and I'm curious as to how Watir uses the WIN32OLE to >>>>>> connect to the DOM inside a Frame. I have been able to get the frame >>>>>> ReadyState by ignoring the WIN32OLERuntimeError however I can not access >>>>>> controls inside of that frame. >>>>>> >>>>>> All I can find online is about how to code a Watir test to see >>>>>> frames, but I want to know how it works behind the scenes. Being new to >>>>>> Ruby I only understand so much from the Watir source code, I was hoping >>>>>> someone could give me a good explanation on how to recreate this. >>>>>> >>>>>> Mike >>>>>> >>>>>> _______________________________________________ >>>>>> Wtr-development mailing list >>>>>> [email protected] >>>>>> http://rubyforge.org/mailman/listinfo/wtr-development >>>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> Wtr-development mailing list >>>>> [email protected] >>>>> http://rubyforge.org/mailman/listinfo/wtr-development >>>>> >>>> >>>> >>>> _______________________________________________ >>>> Wtr-development mailing list >>>> [email protected] >>>> http://rubyforge.org/mailman/listinfo/wtr-development >>>> >>> >>> >>> _______________________________________________ >>> Wtr-development mailing list >>> [email protected] >>> http://rubyforge.org/mailman/listinfo/wtr-development >>> >> >> >> _______________________________________________ >> Wtr-development mailing list >> [email protected] >> http://rubyforge.org/mailman/listinfo/wtr-development >>
_______________________________________________ Wtr-development mailing list [email protected] http://rubyforge.org/mailman/listinfo/wtr-development
