Here is a sample. This code does not throw any exceptions. js1,2,3 all
result in a popup. js 4 does not - indicating that it is not finding
the element I want. I gaurantee that the html element I am looking for
is a child of top_frame. In fact, the code that calls this block
checks that the html element exists using watir.

js1= "alert('hi');"

js2 = "var top_frame=document.getElementById('top_frame'); if
(top_frame){alert('found top');};"

js3 = "var top_frame=document.getElementById('top_frame'); if
(top_frame){var myelem = top_frame.document.getElementById('" +
html_id  + "'); alert('found top');};"

js4 = "var top_frame=document.getElementById('top_frame'); if
(top_frame){var myelem = top_frame.document.getElementById('" +
html_id  + "'); if(myelem){ alert('found elem');}};"

js = js4;

puts "my js for " +  html_id + " is " + js
SITE.browser.document.parentWindow.execScript(js, "javascript")

Any ideas on what I should be using to access an element inside a
frame? Note: I already tested without all the frame stuff, and it
doesn't work either.

Andy

On Mar 11, 10:58 am, Andy Sipe <ajs.gene...@gmail.com> wrote:
> Post a sample of your code.
>
>  Remember that when you inject the JS you are working only with the dom and
> the browser JS engine.  Nothing watir related.  The error your are posting
> leads me to believe that somewhere  you are treating something that should
> be JS as something in ruby.
>
> -andy
>
>
>
> On Wed, Mar 11, 2009 at 12:25 PM, <andrew.d...@lthree.com> wrote:
>
> > Yea, I remembered that 2 secs after posting.
>
> > Does anyone know anyway to debug js being run with execScript?
>
> > I am getting
>
> >      execScript
> >          OLE error code:80020101 in <Unknown>
> >            Could not complete the operation due to error 80020101.
> >          HRESULT error code:0x80020009
> >            Exception occurred. (WIN32OLERuntimeError)
> >      C:/workspace/Guidewire/Common/lib/pages/GuidewirePage.rb:313:in
> > `method_mi
> > ssing'
>
> > Note: I can get some js to work, such as alert('hi'), but it always
> > fails when I use getElementById('someid')
>
> > On Mar 11, 9:30 am, Andy Sipe <ajs.gene...@gmail.com> wrote:
> > > lower case 'd'
>
> > > @ie.document
>
> > > Sorry about that.
>
> > > -andy
>
> > > On Wed, Mar 11, 2009 at 11:02 AM, <andrew.d...@lthree.com> wrote:
>
> > > > When I tried this I got
>
> > > >      undefined method `Document' for #<Watir::IE:0x4288648>
> > > > (NoMethodError)
>
> > > > Is Watir::IE the correct object to be using here?
>
> > > > On Mar 11, 8:53 am, Andy Sipe <ajs.gene...@gmail.com> wrote:
> > > > > You should be able to read it using xpath or some other technique.
>
> > > > > I don't believe you can set it directly with watir.  However you can
> > > > always
> > > > > inject javascript that will change the handler.  Something like:
>
> > > > > @ie.Document.parentWindow.execScript("$('eleid').onclick =
> > > > 'alert('hi');');
>
> > > > > I didn't test that and I'm pretty sure the embedded " and ' are wrong
> > but
> > > > > you should be able to get the idea of how to set the handler.
>
> > > > > -andy
>
> > > > > On Wed, Mar 11, 2009 at 10:33 AM, <andrew.d...@lthree.com> wrote:
>
> > > > > > So I am clicking on a link that has an onclick handler. I would
> > like
> > > > > > to read/write the onclick handler. Is there a way to get at that.
> > Just
> > > > > > trying
>
> > > > > > element.onclick = "sss"
>
> > > > > > didn't work and neither did
>
> > > > > > element.click = "sss"
>
> > > > > > Is there a way to do this?
>
> > > > > > Andy- Hide quoted text -
>
> > > > > - Show quoted text -- Hide quoted text -
>
> > > - Show quoted text -- Hide quoted text -
>
> - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Watir General" group.
To post to this group, send email to watir-general@googlegroups.com
Before posting, please read the following guidelines: 
http://wiki.openqa.org/display/WTR/Support
To unsubscribe from this group, send email to 
watir-general-unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/watir-general
-~----------~----~----~----~------~----~------~--~---

Reply via email to