#!/usr/bin/perl use strict; use warnings; use EventRepository; my $er = EventRepository->new; $er->gets('http://google.com'); #### package EventRepository; use strict; use warnings; use vars qw(@ISA); @ISA = qw (FFMech); sub new { my $self = {}; bless $self, shift; logi('Creating event repository.'); $self->{_mech} = FFMech->new(); return $self; } #### package FFMech; use strict; use warnings; use vars qw(@ISA); @ISA = qw (WWW::Mechanize::Firefox); use X11::GUITest qw/SendKeys FindWindowLike ClickWindow SetEventSendDelay/; sub new { my ($class, %args) = @_; my $self = {}; bless $self, shift; $self->_init(@_); return $self; } sub _init { my ($self, %args) = @_; $self->{_mech} = WWW::Mechanize::Firefox->new(launch => 'firefox', activate => 1 ); $self->{_window_id} = FindWindowLike('Mozilla Firefox'); ClickWindow($self->{_window_id}); if ($self->{_mech}->title =~ /Restore Session/i) { $self->{_mech}->click( {selector => '#errorCancel' } ); } } sub gets { my $self = shift; my ($url, $sec, $syn) = set_args(@_); $self->{_mech}{_mech}->get($url, sychronize => $syn); sleep($sec); } #### $self->{_mech}{_mech}->get($url, sychronize => $syn);