The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Examples - WWW::Mechanize::PhantomJS example programs.

DESCRIPTION

This is a documentation only module showing the examples that are included in the WWW::Mechanize::PhantomJS distribution.

This file was auto-generated via the gen_examples_pod.pl program that is also included in the examples directory.

Example programs

The following is a list of the 4 example programs that are included in the WWW::Mechanize::PhantomJS distribution.

Example: url-to-image.pl

use strict;
use File::Spec;
use File::Basename 'dirname';
use WWW::Mechanize::PhantomJS;

my $mech = WWW::Mechanize::PhantomJS->new(
    launch_arg => ['ghostdriver/src/main.js' ],
);

sub show_screen() {
    my $page_png = $mech->content_as_png();

    my $fn= File::Spec->rel2abs(dirname($0)) . "/screen.png";
    open my $fh, '>', $fn
        or die "Couldn't create '$fn': $!";
    binmode $fh, ':raw';
    print $fh $page_png;
    close $fh;
    
    #system(qq(start "Progress" "$fn"));
};

$mech->get('http://act.yapc.eu/gpw2014');

show_screen;

Download this example: http://cpansearch.perl.org/src/CORION/WWW-Mechanize-PhantomJS-0.24/examples/url-to-image.pl

Example: html-to-pdf.pl

#!perl -w
use strict;
use WWW::Mechanize::PhantomJS;

my $mech = WWW::Mechanize::PhantomJS->new(
    launch_arg => ['ghostdriver/src/main.js' ],
);

for my $url (@ARGV) {
    print "Loading $url";
    $mech->get($url);

    my $fn= 'screen.pdf';
    my $page_pdf = $mech->content_as_pdf(
        filename => $fn,
    );
    print "\nSaved $url as $fn\n";
};

Download this example: http://cpansearch.perl.org/src/CORION/WWW-Mechanize-PhantomJS-0.24/examples/html-to-pdf.pl

Example: dump-links.pl

use strict;
use WWW::Mechanize::PhantomJS;

my $mech = WWW::Mechanize::PhantomJS->new(
    launch_arg => ['ghostdriver/src/main.js' ],
);

$mech->get_local('links.html');

sleep 5;

print $_->get_attribute('href'), "\n\t-> ", $_->get_attribute('innerHTML'), "\n"
  for $mech->selector('a.download');

=head1 NAME

dump-links.pl - Dump links on a webpage

=head1 SYNOPSIS

dump-links.pl

=head1 DESCRIPTION

This program demonstrates how to read elements out of the PhantomJS
DOM and how to get at text within nodes.

=cut

Download this example: http://cpansearch.perl.org/src/CORION/WWW-Mechanize-PhantomJS-0.24/examples/dump-links.pl

Example: javascript.pl

#!perl -w
use strict;
use WWW::Mechanize::PhantomJS;

my $mech = WWW::Mechanize::PhantomJS->new(
    launch_arg => ['ghostdriver/src/main.js' ],
);


$mech->get_local('links.html');

print $mech->eval_in_page(<<'JS');
    ["Just","another","Perl","Hacker"].join(" ");
JS

=head1 NAME

javascript.pl - execute Javascript in a page

=head1 SYNOPSIS

javascript.pl

=head1 DESCRIPTION

B<This program> demonstrates how to execute simple
Javascript in a page.

=cut

Download this example: http://cpansearch.perl.org/src/CORION/WWW-Mechanize-PhantomJS-0.24/examples/javascript.pl

AUTHOR

Max Maischein corion@cpan.org

Contributed examples contain the original author's name.

COPYRIGHT

Copyright 2009-2020 by Max Maischein corion@cpan.org.

All Rights Reserved. This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself.