Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Clicking a radio button Mechanize::Firefox

by Maany (Novice)
on Mar 01, 2018 at 23:08 UTC ( [id://1210204]=perlquestion: print w/replies, xml ) Need Help??

Maany has asked for the wisdom of the Perl Monks concerning the following question:

Hello monks, I have the following html code, I have been trying to figure out a way to click the second radio button using WWW::Mechanize::firefox
<input type="radio" name="user" id="Te" data-first-clickable="true" ar +ia-label="Teacher" checked="checked"> <input type="radio" name="user" id="St" data-first-clickable="true" ar +ia-label="Student">
here is what I've tried so far
$mech->click_button( id => 'St' ); #didn't work $mech->click( id => 'St' ); #didn't work $mech->click({ xpath => '//*[@name="user"]' }); # WORKED ! BUT clicked + the first one not the second $mech->click({ xpath => '//*[@id="St"]',synchronize => 0}); #didn't wo +rk $mech->eval_in_page('document.getElementById("St").checked = checked;' +); #didn't work $mech->submit_form( with_fields => { user => 'St', }, ); #didn't work
how can I select the second radio, and I am using Mechanize::Firefox because once you click this radio button it executes a java script to expand a frame and show login fields. thank you for your time and help :)

Replies are listed 'Best First'.
Re: Clicking a radio button Mechanize::Firefox
by Corion (Patriarch) on Mar 02, 2018 at 07:43 UTC

    Maybe if you want to click the second one, tell XPath:

    $mech->click({ xpath => '//input[@value="Student"]' });

    Also, your call to ->eval_in_page contains invalid Javascript and thus likely didn't work. But you didn't tell us how it failed, so that's just a guess.

Re: Clicking a radio button Mechanize::Firefox
by Anonymous Monk on Mar 01, 2018 at 23:46 UTC

    Hi,

    How many  id="St" exist in the webpage?

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others chilling in the Monastery: (8)
As of 2024-04-23 09:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found