WWW::Mechanize::TreeBuilder man page on Fedora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Fedora logo
[printable version]

WWW::Mechanize::TreeBuUserrContributed Perl DocuWWW::Mechanize::TreeBuilder(3)

NAME
       WWW::Mechanize::TreeBuilder

SYNOPSIS
	use Test::More tests => 2;
	use Test::WWW::Mechanize;
	use WWW::Mechanize::TreeBuilder;
	# or
	# use WWW::Mechanize;
	# or
	# use Test::WWW::Mechanize::Catalyst 'MyApp';

	my $mech = Test::WWW::Mechanize->new;
	# or
	#my $mech = Test::WWW::Mechanize::Catalyst->new;
	# etc. etc.
	WWW::Mechanize::TreeBuilder->meta->apply($mech);

	$mech->get_ok('/');
	is( $mech->look_down(_tag => 'p')->as_trimmed_text, 'Some text', 'It worked' );

DESCRIPTION
       This module combines WWW::Mechanize and HTML::TreeBuilder. Why? Because
       I've seen too much code like the following:

	like($mech->content, qr{<p>some text</p>}, "Found the right tag");

       Which is just all flavours of wrong - its akin to processing XML with
       regexps.	 Instead, do it like the following:

	ok($mech->look_down(_tag => 'p', sub { $_[0]->as_trimmed_text eq 'some text' })

       The anon-sub there is a bit icky, but this means that anyone should
       happen to add attributes to the "<p>" tag (such as an id or a class) it
       will still work and find the right tag.

       All of the methods avaiable on HTML::Element (that aren't 'private' -
       i.e.  that don't begin with an underscore) such as "look_down" or
       "find" are automatically delegated to "$mech->tree" through the magic
       of Moose.

METHODS
       Everything in WWW::Mechanize (or which ever sub class you apply it to)
       and all public methods from HTML::Element except those where
       WWW::Mechanize and HTML::Element overlap. In the case where the two
       classes both define a method, the one from WWW::Mechanize will be used
       (so that the existing behaviour of Mechanize doesn't break.)

USING XPATH OR OTHER SUBCLASSES
       HTML::TreeBuilder::XPath allows you to use use xpath selectors to
       select elements in the tree. You can use that module by providing
       parameters to the moose role:

	with 'WWW::Mechanize::TreeBuilder' => {
	  tree_class => 'HTML::TreeBuilder::XPath'
	};

	# or

	# NOTE: No hashref using this method
	WWW::Mechanize::TreeBuilder->meta->apply($mech,
	  tree_class => 'HTML::TreeBuilder::XPath';
	);

       and class will be automatically loaded for you. This class will be used
       to construct the tree in the following manner:

	$tree = $tree_class->new_from_content($req->decoded_content)->elementify;

       You can also specify a "element_class" parameter which is the
       (HTML::Element sub)class that methods are proxied from. This module
       provides defaults for element_class when "tree_class" is
       "HTML::TreeBuilder" or "HTML::TreeBuilder::XPath" - it will warn
       otherwise.

AUTHOR
       Ash Berlin "<ash@cpan.org>"

LICENSE
       Same as Perl 5.8, or at your option any later version of Perl.

perl v5.14.1			  2010-09-23	WWW::Mechanize::TreeBuilder(3)
[top]

List of man pages available for Fedora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net