Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: Need help logging into my bank with WWW::Mechanize::Firefox

by PerlSufi (Friar)
on Dec 08, 2014 at 22:39 UTC ( [id://1109656]=note: print w/replies, xml ) Need Help??


in reply to Need help logging into my bank with WWW::Mechanize::Firefox

Keeping in mind that doing any of this may not be accepted in their Terms of Use, maybe you can try something like:
$mech->submit_form( with_fields => { usr_name => 'me', usr_password => 'secret', } );

..While deleting the '$mech->form_name' ..line
Also, I'm really unsure why you are using a separate subroutine to get the status. You could just call $mech->status instead? If I was to put any of your script(when it works) into a sub, it would be the login process.
Are you watching to make sure that the script is actually filling out the form?
UPDATE: Are you sure the name of that form is correct on that route? When I inspect with FireBug, I see the form name as 'homeLogonForm' ..not 'logonform'. Definitely make sure you are specifying the right one- If my above suggestion doesn't work.

Replies are listed 'Best First'.
Re^2: Need help logging into my bank with WWW::Mechanize::Firefox
by johnblack (Initiate) on Dec 08, 2014 at 23:12 UTC

    Thanks for your reply. I tried your with_fields suggestion and got this message:

    2 elements found for form with fields usr_password usr_name at mon2.pl line 32.

    By trial and error I found that those are forms number 3 and 4 but when I try both form numbers I get the same result as before when I was going with the form name of logonform.

    >>Are you watching to make sure that the script is actually filling out the form?

    Yes, I can see that it is.

    >>UPDATE: Are you sure the name of that form is correct on that route? When I inspect with FireBug, I see the form name as 'homeLogonForm' ..not 'logonform'.

    That explains why calling "with_fields" finds 2 forms that match the fields. I found logonform by code inspection but I switched to homeLogonForm and am getting the same result. If I was using an incorrect name or incorrect fields for the name, Mechanize::Firefox reports an error.

      I feel like I'm close. If I exit my script before the call to submit_form(), it has the page called up and has filled in the userid and pwd. If I then manually click the green button that says Log In To Accounts, I get in.

      But I can't figure out how to do that from within Mechanize::Firefox. If I go by button number, I am told there is only one button on the page. If I click that one, I find out that it is the search button. So if that log in button is not a "button", what is it and how can I click it? Thanks.

        Have you looked at the HTML of the page, and/or used the "Object Inspector" (Ctrl-Shift-I) to find out what the element on the page is that looks like a submit button?

        Here is the code for the button I am trying to click.

        <div class="field initialized loginBtn"> <div class="chase-button-container" style="top:0px; left:0px"> <div class="inner-large"> <a class="chase-button primary-button large-button" data-h +orizontalpos="-46" data-pt-name="knwnlogin" data-verticalpos="0" data +-accessible-text="" data-multiselect="false" data-background="none" d +ata-decoration="lock" data-size="large" data-type="primary-button" hr +ef="#" role="button"></a> </div> </div> </div>

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others contemplating the Monastery: (3)
As of 2024-04-23 22:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found