Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re^4: Mechanize, Forms, Links, problem from Javascript?

by goodepic (Initiate)
on Jun 24, 2008 at 22:47 UTC ( #693843=note: print w/replies, xml ) Need Help??


in reply to Re^3: Mechanize, Forms, Links, problem from Javascript?
in thread Mechanize, Forms, Links, problem from Javascript?

Just for anyone googling a similar problem, I got this working. In the end it was just a simple post from mechanize. With the same $br = WWW::Mechanize->new() object, I went to the login page logged in, followed the link to the trouble page, manually went to the URL you're directed to through the first two option drop downs, then to get the behavior of the combo selecting from the 3rd option drop down and then clicking on one of the data table links, I did this:

$br->post('http://sipp.pu.go.id/sipp2005/form_A3.php', ['ses_id' => 'sid', 'fiscal' => "$year", 'thnang' => '', 'propinsi' => "$prop", 'proyektemp' => satker->{'proyektemp'}, 'nmpinpro' => $satker->{'nminpro'}, 'nipppin' => $satker->{'nippin'}, + 'nmproyek' => $satker->{'nmproyek'}, 'proyek' => $satker->{'proyek'}, + 'nmpropinsi' => $state_names{$prop}]); + my $resp = $br->content();

All the values in the POST come from the names and values in the 3rd drop down option select input. Easy to figure out how to parse those to get the values in the HTTP above. I got those like this:

$form = $br->form_name('sipp'); my $input = $form->find_input('proyektemp'); my @pt_values = $input->possible_values; my @pt_names = $input->value_names;

Read on cpan HTML::Form for more on that...

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://693843]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (3)
As of 2016-12-03 14:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    On a regular basis, I'm most likely to spy upon:













    Results (56 votes). Check out past polls.