Hey Peter!
On Mon, May 28, 2007 at 09:25:20AM +0200, Peter Szinek
wrote:> Hello all,
>
> I am trying to click image maps ("area" nodes), and while
Perl''s
> mechanize treats "a", "area", "frame",
"iframe" and "meta" tags as
> links, it seems to me that Ruby''s Mechanize thinks only
"a" tags can be
> links (at least my little experiment, namely:
Looks like I''ve missed area nodes. Thats a bug, and I''ll add
it to the
next release.
>
> page.links.each {|link| puts link.node.name}
>
> on a page with "area" nodes all over tells me).
>
> Is there a way to click "area" nodes? Or at least is there a
method of
> Mechanize::Page which returns all the nodes (which would make this
> relatively easy).
If you find the HPricot node from the page, you should be able to click
it as long as it has an ''href'' or a ''src''
attribute.
>
> 2 related questions:
>
> - if I have a HPricot node, which has a ''href'' or
''src'' attribute, can I
> click it?
Yes. Just pass the node to WWW::Mechanize#click. It will check for an
href attribute, src attribute, then try calling an href method. In that
order.
> - if I have an URI (as a String), can I click it? (or navigate to that
URI).
Yes. WWW::Mechanize#get takes a string.
Hope that helps!
--
Aaron Patterson
http://tenderlovemaking.com/