The code is:Hit form loop on form:1 Hit inputfield loop Setting submit=0 Setting submit=0 Setting submit=0 Setting submit=0 Hit inputfield loop Setting submit=0 Setting submit=0 Hit inputfield loop Setting submit=0 Setting submit=0 Setting submit=0 No such field 'firstname' at X:/Perl/site/lib/WWW/Mechanize.pm line 57 +1
#!/usr/bin/perl use WWW::Mechanize ; #Prepopulated Information my $fname="Test"; my $lname="User"; my $address="1234 Example Street"; my $city="New York"; my $state="New York"; my $zip="10010"; my $phone="2135555555"; my $submit=1; #Create new WWW::Mechanize object my $mech = WWW::Mechanize->new ; #Fetch URL or Die Tryin' $mech ->get("http://www.videoguys.com/catalog.htm") ; die $mech ->res->status_line unless $mech ->success ; #Return list of forms found in the last fetched page to hand off to HT +ML::Form my @webforms = $mech->forms(); #Examine each form foreach my $form (@webforms) { my @inputfields = $form->param; #Examine each input field foreach my $inputfield (@inputfields) { if($inputfield =~ m/(F|f)(irst)?name/) { $mech->set_fields( $inputfield => $fname); print "matched firstname regex\n"; } if($inputfield =~ / (L|l)(ast)?name/) { $mech->set_fields( $inputfield => $lname); } if($inputfield =~ /(A|a)ddress[123]?/) { $mech->set_fields( $inputfield => $address); } if($inputfield =~ /(C|c)ity/) { $mech->set_fields( $inputfield => $city); } if($inputfield =~ /(S|s)tate/) { $mech->set_fields( $inputfield => $state); } if($inputfield =~ /(Z|z)ip/) { $mech->set_fields( $inputfield => $zip); } if($inputfield =~ /(P|p)hone/) { $mech->set_fields( $inputfield => $phone); } else { $submit=0; print "Setting submit=0\n"; } # Submit Completed Form or Die Tryin' if($submit==1) { $mech ->submit_form ; die $mech ->res->status_line unless $mech ->success ; # If the form sends you somewhere, you can catch it : my $new_url = $mech ->response->request->uri->as_string ; } } }
In reply to Input Field Validation by stanislav5000
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |