Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re: Clicking a checkbox using www::mechanize

by jeffa (Bishop)
on May 11, 2004 at 19:57 UTC ( [id://352569]=note: print w/replies, xml ) Need Help??


in reply to Clicking a checkbox using www::mechanize

geekgrrl and nmcfarl are correct about Javascript, but your tick() usage is wrong. You need to pass the value as the second arg:

$agent->tick($chk_visa,'Visa');
Here are two test scripts for you, the first is a CGI script and the second is a W::M bot that queries the CGI script and tests its "return" value.

CGI script:
use CGI::Pretty qw(:standard); if (param('chklstCC:0')) { print header, param('chklstCC:0'); } else { print header,start_html,start_form, checkbox_group( -name=>'chklstCC:0', -values=>[qw(Visa MasterCard Discover)], ), submit('go'), end_form, end_html, ; }
Bot script:
use WWW::Mechanize; use Test::More qw(no_plan); my $bot = WWW::Mechanize->new(); $bot->get('http://localhost/path/to/cgi_script.cgi'); $bot->tick('chklstCC:0','Visa'); $bot->submit; is( $bot->content(), 'Visa', "Got expected content" );

UPDATE: (a reply)
No value? Then those aren't "real" checkboxes, are they? Value is a required attribute for the checkbox input type. I gave you correct usage for correct HTML. The checkboxes you are trying to check rely on Javascript, and you will too if you want this bot to work. I have used Javascript with success before, code is at (jeffa) Re: Encrypt web files!. Good luck, you're gonna need it. :/

jeffa

L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)

Replies are listed 'Best First'.
Re: Re: Clicking a checkbox using www::mechanize
by Anonymous Monk on May 11, 2004 at 20:18 UTC
    Could I pay you to help me? If so, how much do you expect to get?
Re: Re: Clicking a checkbox using www::mechanize
by Anonymous Monk on May 11, 2004 at 20:01 UTC
    But the checkbox has no "value" associated within the input field. I have tried using $bot->tick('chklstCC:0','Visa'); and it did not work either.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://352569]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others admiring the Monastery: (2)
As of 2024-04-26 05:30 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found