Как я могу заполнить веб-формы с помощью Perl? - PullRequest
3 голосов
/ 06 апреля 2009

Я хочу заполнить веб-форму с помощью Perl. У меня проблемы с поиском правильного синтаксиса для достижения этой цели. Например, как перейти к URL-адресу, выбрать форму, заполнить форму и нажать клавишу ввода, чтобы убедиться, что она была отправлена?

Ответы [ 5 ]

12 голосов
/ 06 апреля 2009

Что-то вроде WWW :: Mechanize :: FormFiller ?

6 голосов
/ 06 апреля 2009

WWW :: Mechanize и его друзья - путь. В Spidering Hacks есть несколько примеров , но вы также найдете множество других, прибегая к помощи имени модуля.

Удачи,:)

2 голосов
/ 06 апреля 2009

Начните с WWW :: Mechanize :: Shell:

perl -MWWW::Mechanize::Shell -e shell
get http://some/page
fillout
...
submit

После этого введите «script» и сохраните сгенерированный код как что-то .pl - и все. Это сделано.

0 голосов
/ 06 апреля 2009

HTML :: Form тоже отлично работает.

Краткое описание модуля является отличным примером:

 use HTML::Form;
 $form = HTML::Form->parse($html, $base_uri);
 $form->value(query => "Perl");

 use LWP::UserAgent;
 $ua = LWP::UserAgent->new;
 $response = $ua->request($form->click);
0 голосов
/ 06 апреля 2009

Запросите URL-адрес действия формы с помощью Net::HTTP или чего-либо (не могу вспомнить точный модуль) и включите поля форм в качестве параметра GET / POST (в зависимости от того, к чему обращена форма).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...