Thread WWW::Mechanize (0 answers)
Opened by shogun at 2005-07-30 19:38

shogun
 2005-07-30 19:38
#56848 #56848
User since
2005-07-30
1 Artikel
BenutzerIn
[default_avatar]
Hallo,

bei einbinden von WWW::Mechanize bin ich folgendes gestoßen.

Wenn ich mit perl -MWWW::Mechnaize::Shell  die zu abfragende Seite besuche und die einzelnen Forms und Links abfrage
funktioniert alles ohne Probleme.

Wenn ich aber das mit script erzeugte Perl starte
dann erhalte ich folgende Fehler:

30.07.2005     <= Kommt aus dem Script
29.07.2005
Use of uninitialized value in exists at /usr/lib/perl5/site_perl/5.8.1/WWW/Mechanize/FormFiller.pm line 96.
Use of uninitialized value in hash element at /usr/lib/perl5/site_perl/5.8.1/WWW/Mechanize/FormFiller.pm line 97.
Can't find any link matching (?-xism:(?-xism:\bemail\b)) on this page (http://www.xxx-yyy.de/index.asp) at prg/cccc.pl line 62
n

Hier das Script:
&acute;
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#!/usr/bin/perl -w
use strict;
use WWW::Mechanize;
use WWW::Mechanize::FormFiller;
use URI::URL;
use Date::Calc qw(:all);

my $agent = WWW::Mechanize->new( autocheck => 1 );
my $formfiller = WWW::Mechanize::FormFiller->new();
my $day = 0;
my $month = 0;
my $year = 0;


($year,$month,$day) = &Today();
#($year, $month, $yesterday) = &Today();
$day = "0".$day if($day < 10);
$month = "0".$month if($month < 10);
my ($year2,$month2,$yesterday) = Add_Delta_Days($year,$month,$day, -1);
$yesterday = "0".$yesterday if($yesterday < 10);

print "$day.$month.$year\n";
print "$yesterday.$month.$year\n";

$agent->env_proxy();

 $agent->get('[URL=http://www.xxx-yyy.de']http://www.xxx-yyy.de'[/URL]);
   $agent->form(1) if $agent->forms and scalar@{$agent->forms};
 $agent->form_number(1);
 $formfiller->add_filler( 'usrusr' => Fixed => 'vvv' );
 $formfiller->add_filler( 'usrpwd' => Fixed => 'nnnnn' );
 $formfiller->fill_form($agent->current_form);
 $agent->click('usrannounce');
 $agent->follow(qr((?-xism:ERWEITERTES)));
 $agent->follow(qr((?-xism:Suchmaske)));
 $agent->form_number(2);
 $formfiller->add_filler( 'snNr' => Fixed => '' );
 $formfiller->add_filler( 'jahr' => Fixed => 'ALL' );
 $formfiller->add_filler( 'colliNr' => Fixed => '' );
 $formfiller->add_filler( 'bordNr' => Fixed => '' );
 $formfiller->add_filler( 'datVonwdat' => Fixed => "$yesterday" );
 $formfiller->add_filler( 'datBiswdat' => Fixed => "$day" );
 $formfiller->add_filler( 'datArt' => Fixed => 'sdgdat' );
 $formfiller->add_filler( 'status' => Fixed => 'all' );
 $formfiller->add_filler( 'stati' => Fixed => '' );
 $formfiller->add_filler( 'statSel' => Fixed => 'pos' );
 $formfiller->add_filler( 'quitt' => Fixed => 'all' );
 $formfiller->add_filler( 'absNme' => Fixed => '' );
 $formfiller->add_filler( 'refNr' => Fixed => '' );
 $formfiller->add_filler( 'kdNr' => Fixed => '' );
 $formfiller->add_filler( 'verid' => Fixed => 'ALL' );
 $formfiller->add_filler( 'empfNme' => Fixed => '' );
 $formfiller->add_filler( 'empfLand' => Fixed => '' );
 $formfiller->add_filler( 'empfPlz' => Fixed => '' );
 $formfiller->add_filler( 'empfOrt' => Fixed => '' );
 $formfiller->add_filler( 'pagesize' => Fixed => '100' );
 $formfiller->add_filler( 'sort' => Fixed => 'sorted' );
 $formfiller->add_filler( '' => Fixed => '' );
 $formfiller->fill_form($agent->current_form);
 $agent->click('search');
 #$agent->form_number(2);
 $agent->follow(qr((?-xism:\bemail\b)));
 $agent->form_number(1);
 $agent->click('usrlogout');


Der letzte Link lautet "Daten per email versenden". Alle möglichen Variante habe ich schon probiert.
Die Seite verwendet einiges an Java-Script Routinen, aber wie schon gesagt in der Shell funktioniert es.
Das beste ist aber das die Abfrage dennoch eine E-Mail erzeugt.
BUG?

Hat jemand eine Idee?

Danke schonmal im Voraus.\n\n

<!--EDIT|esskar|1122740190-->

View full thread WWW::Mechanize