Riales has asked for the wisdom of the Perl Monks concerning the following question:
Hello Monks,
I am trying to check the onclick attribute of anchor tags with WWW::Mechanize::Firefox. Here is what I have explored so far...
At first, I thought I'd check the attrs property of WWW::Mechanize::Link. Something like this:
my @links = $mech->find_all_links(url_regex => 'asdf.html'); foreach my $link (@links) { print $link->attrs()->{onclick}; }
Unfortunately, that did not work. Further exploration yielded the reason--the make_link subroutine in WWW::Mechanize::Firefox always just initializes attrs with an empty hashref.
No problem, I thought--maybe I could just patch that functionality in. Not much success with that either, though--I'm having a tough time understanding how the MozRepl::RemoteObject module works. I thought something like this sound work:
my @links = $mech->find_all_links_dom(url_regex => 'asdf.html'); foreach my $link (@links) { print $link->{onclick}; }
Or:
my @links = $mech->find_all_links_dom(url_regex => 'asdf.html'); foreach my $link (@links) { print $link->__attr('onclick'); }
Or at least:
my @links = $mech->find_all_links_dom(url_regex => 'asdf.html'); foreach my $link (@links) { # Neither of the following work either... print Dumper($link->__keys); print Dumper(keys %$link); }
This is the error message I receive. It seems like a Javascript error, but that's all I can surmise...
MozRepl::RemoteObject: TypeError: obj.hasOwnProperty is not a function + at /usr/local/share/perl/5.10.1/MozRepl/RemoteObject.pm line 1509
What am I missing? Is there a simpler way to go about this?
EDIT:
Solved! Just to clarify, I was looking for just the text of the onclick attribute of links. When I was doing $link->{onclick}, I was getting the compiled Javascript of the onclick attribute. To get just the simple text, all I had to do was $link->getAttribute('onclick').
Thanks all!
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Checking onclick attribute of an anchor tag with WWW:::Mechanize::Firefox
by bitingduck (Deacon) on Mar 05, 2012 at 09:12 UTC | |
by Riales (Hermit) on Mar 05, 2012 at 10:37 UTC | |
by Anonymous Monk on Mar 05, 2012 at 10:56 UTC | |
|
Re: Checking onclick attribute of an anchor tag with WWW:::Mechanize::Firefox
by Corion (Patriarch) on Mar 05, 2012 at 13:32 UTC | |
by Riales (Hermit) on Mar 05, 2012 at 17:28 UTC |