Заполнение формы в Perl с помощью модуля WWW::Mechanize

Я создаю сценарий, который входит в веб-форму в Perl с использованием модуля mechanize, и я получаю сообщение об ошибке:

синтаксическая ошибка в /home/arty/scripts/gmail_pw_chngr.pl строке 18, рядом с "кнопкой" Выполнение /home/arty/scripts/gmail_pw_chngr.pl прервано из-за ошибок компиляции.

Код

    use WWW::Mechanize;
    my $mech = WWW::Mechanize->new();

    my $url = "https://accounts.google.com/Login";

    $mech->get($url);

    $result = $mech->submit_form(
        form_name => 'gaia_loginform', # Name of the form
        #Instead of form name you can specify
        #form_number => 1
        fields       =>
        {
            Email  => 'arty32l@gmail.com', # Name of the input field and value
            Passwd => 'password',
        }
        button    => 'signIn' # Name of the submit button
    );
    print $result->content();

Выше приведен код, все значения из входных данных являются именами, но это всегда ошибки в одной строке.

3 ответа

Решение

Ошибка, о которой идет речь - пропущенная запятая button,

Использование use strict; а также use warnings;, Они помогут вам.

use CGI qw(:standard);
use CGI::Carp qw(warningsToBrowser fatalsToBrowser);

use WWW::Mechanize;
    my $mech = WWW::Mechanize->new();

    my $url = "https://accounts.google.com/Login";

    $mech->get($url);


    $result = $mech->submit_form(
    form_name => 'gaia_loginform', #name of the form
    #instead of form name you can specify
    #form_number => 1
    fields      =>
    {
     Email    => 'arty32l@gmail.com', # name of the input field and value
     Passwd    => 'password',
    }
    ,button    => 'signIn' #name of the submit button
    );

     print $result->content();
Другие вопросы по тегам