Добавьте продукт в корзину используя WWW::Mechanize - Perl

Я пишу сценарий, который выбирает размер и добавляет продукт в корзину, здесь он находится http://store.nike.com/us/en_us/pd/free-4-flyknit-running-shoe/pid-1064825/pgid-1481072

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

my $tconike = "http://store.nike.com/us/en_us/pd/free-4-flyknit-running-shoe/pid-1064825/pgid-1481072";

$mech->get($tconike);
print $mech->uri();
$mech->submit_form(
    form_number=> 2,
    fields => {
    skuAndSize => $shoesize,
    click => "ADD TO CART",
    }
);

Но вот вывод

Uncaught exception from user code:
        No form found to submit. at nikecartstandalone.pl line 25
 at C:/Users/Brett/Documents/brett/Perl/perl/site/lib/WWW/Mechanize/Firefox.pm l
ine 2162
        WWW::Mechanize::Firefox::signal_condition('WWW::Mechanize::Firefox=HASH(
0x2a54888)', 'No form found to submit.') called at C:/Users/Brett/Documents/bret
t/Perl/perl/site/lib/WWW/Mechanize/Firefox.pm line 3649
        WWW::Mechanize::Firefox::submit_form('WWW::Mechanize::Firefox=HASH(0x2a5
4888)', 'form_number', 2, 'fields', 'HASH(0x3501328)') called at nikecartstandal
one.pl line 25

Кто-нибудь знает, что я сделал не так, потому что я должен был использовать что-то submit_form Или что-то еще?

1 ответ

Поскольку ошибка говорит о том, что она не может найти форму, попробуйте отправить форму с помощью with_fields, где вы можете указать поля, которые есть в форме, которую вы собираетесь отправить, что будет проще для поиска и отправки.

Например: $mech->form_with_fields('username');выберет форму, содержащую поле с именем пользователя.

Другие вопросы по тегам