Your easiest solution is to get your developer to add an id tag to the image.

It won't hurt anything and it makes testing infinitely easier.

You have

<img onClick='ruser( 80 )' alt='Delete Asset'
src='/brand/client/images/del.gif' border='0'>

With the addition, you would have

<img id='del_80' onClick='ruser( 80 )' alt='Delete Asset'
src='/brand/client/images/del.gif' border='0'>

Which would make finding the right image to click:

id = getLinkID( :name, "New Vehicle" )
ie.button( :id, /del_#{ id }/ ).click

Nice and clean, yeah? Always try to get development to put IDs on
things it will save your sanity.

j.

On 10/19/05, Roy Sin <[EMAIL PROTECTED]> wrote:
> Thanks Jeff and Zeljko for both the more OO method and the
> quick method.
> To explain further what I need to do is to get the id. From
> that id then I want to click a gif image in an IMG tag
> example as shown below:
> <IMG onclick=rusure(80) alt="Delete Asset"
> src="/brand/client/images/del.gif" border=0>
>
> Let's say the id is 80 and I pass it in a variable $myid
>
> How do I proceed to click that image? because onclick is
> not
> part of the IMG attribute it's a javascript that the
> developer is passing the id to.
>
> $ie.frame("main").image(:??, ??).click
>
> thanks for the help
>
> --- Jeff Wood <[EMAIL PROTECTED]> wrote:
>
> > Actually, the more object oriented ruby way to do it
> > would be
> >
> > --SCRIPT--
> >
> > # define a method so you don't repeat yourself when you
> > want to do this later.
> > def getLinkID( *args )
> >
> >   # we used *args so we can pass whatever we want to the
> > #link call.
> >
> >   regex = /id=(\d+)/
> >   id = nil
> >
> >   begin
> >
> >     # setup your tools & values
> >     href = ie.link( *args ).href
> >
> >     # find the value
> >     matches = regex.match( href )
> >     if matches
> >       # found it
> >       id = matches[1]
> >     end
> >
> >   rescue
> >
> >     # this failure would "normally" happen if ie.link
> > can't find the
> > link in the page.
> >
> >   end
> >
> >   # return whatever we have ... value or nil
> >   id
> >
> > end
> >
> > # how this is callable as
> > my_id = getLinkID( :text, "New Vehicle" )
> >
> > # or ( whatever you want )
> > my_id = getLinkID( :name, /Blah/ )
> >
> > --SCRIPT--
> >
> > I try to stay away from the less-readable perl-like ways
> > of doing it.
> > I don't like implicit variables.
> >
> > j.
> >
> > On 10/19/05, Zeljko Filipin <[EMAIL PROTECTED]>
> > wrote:
> > > I am not shure what do you need. My guess is that you
> > need to isolate
> > > 'id=89' from 'sub_viewvehicle.php?id=89&t=vehicle'. If
> > you need
> > > something else, let me know.
> > >
> > > # try to find 'id=' followed with two digits (\d) in
> > > 'sub_viewvehicle.php?id=89&t=vehicle'
> > > # 'sub_viewvehicle.php?id=89&t=vehicle' =~  /id=\d\d/
> > > ie.link(:text, 'New Vehicle').href =~ /id=\d\d/
> > >
> > > # string that matches is stored in variable $& (and
> > yes, this is ugly
> > > looking variable, and it has a nicer Ruby name, but I
> > can not find it
> > > now)
> > > puts $&
> > >
> > > Zeljko
> > >
> > > 2005/10/18, Roy Sin <[EMAIL PROTECTED]>:
> > > > Hi All,
> > > >
> > > > Below is a sample of a href on a hyperlink
> > > >
> > > > <A href="sub_viewvehicle.php?id=89&t=vehicle">New
> > > > Vehicle</A>
> > > >
> > > > How can I get the dynamic id?
> > > >
> > > > thanks
> > > >
> > > >
> > > >
> > > >
> > > > __________________________________
> > > > Yahoo! Mail - PC Magazine Editors' Choice 2005
> > > > http://mail.yahoo.com
> > > > _______________________________________________
> > > > Wtr-general mailing list
> > > > [email protected]
> > > > http://rubyforge.org/mailman/listinfo/wtr-general
> > > >
> > >
> > > _______________________________________________
> > > Wtr-general mailing list
> > > [email protected]
> > > http://rubyforge.org/mailman/listinfo/wtr-general
> > >
> >
> >
> > --
> > "http://ruby-lang.org -- do you ruby?"
> >
> > Jeff Wood
> >
> > _______________________________________________
> > Wtr-general mailing list
> > [email protected]
> > http://rubyforge.org/mailman/listinfo/wtr-general
> >
>
>
>
>
>
> __________________________________
> Yahoo! Mail - PC Magazine Editors' Choice 2005
> http://mail.yahoo.com
> _______________________________________________
> Wtr-general mailing list
> [email protected]
> http://rubyforge.org/mailman/listinfo/wtr-general
>


--
"http://ruby-lang.org -- do you ruby?"

Jeff Wood

_______________________________________________
Wtr-general mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/wtr-general

Reply via email to