No field names, eh?
Try something like this:
use WWW::Mechanize;
use strict;
my $url = 'http://server/path/to/form.html';
my $mech = WWW::Mechanize->new();
$mech->get($url);
die "can't get page!"
unless $mech->success &&
$mech->content =~ /look for something/;
die "can't find form!"
unless $mech->form_number(0);
my @values = ('learn', 'perl', [option => 'M']);
die "couldn't fill out form!"
unless $mech->set_visible(@values) == 3;
$mech->submit;
die "can't submit form!"
unless $mech->success &&
$mech->content =~ /something useful/;
Any better?
-David
| [reply] [d/l] |
Thanks David, Good news and not so good news, I don't get the error anymore but I nothing happens either, I had the feeling that WWW::Mechanize should fire up the web browser... Have I misunderstood...?
One other thing, If you take look at source of $url the website has a "form tag" before the form that I want to use... in that case should be using (2)..?
my $url = 'http://www.ancestry.com/';
my $mechObject = WWW::Mechanize->new();
$mechObject->get($url);
die "can't get page!"
unless $mechObject->success;
die "can't find form!"
unless $mechObject->form_number(0);
my @values = ('learn', 'perl', [option => 'M']);
die "couldn't fill out form!"
unless $mechObject->set_visible(@values) == 3;
$mechObject->submit;
die "can't submit form!"
unless $mechObject->success;
| [reply] [d/l] |
$mech->form_number(0) is the first form,
$mech->form_number(1) is the second form,
and so on...
Good news ... I don't get the error anymore
Excellent.
but I nothing happens
Perfect!
I had the feeling that WWW::Mechanize should fire up the web browser
No, WWW::Mechanize acts like a web-browser, it doesn't run one.
If you got no errors along the way (and you actually had put something useful in those two regular expressions) you can be pretty sure it worked fine.
Update: Ah, I see you removed the regexp tests. Those are there to see that the resulting page "looks like" the page you expect to see. Removing those tests stops you from knowing if your truly succeeded.
To be sure, consult the site you posted it to.
-David.
| [reply] |