Автоматизированный инструмент / API для заполнения веб-форм - PullRequest
0 голосов
/ 20 января 2010

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

Ответы [ 2 ]

2 голосов
/ 20 января 2010

Так как вы спрашиваете о SO, я предполагаю, что вы можете написать код. Лично я бы порекомендовал для этого Selenium RC (не плагин для браузера, пульт дистанционного управления). Для настройки требуется немного работы, но не так уж много, и в результате у вас будет система, в которой легко будет программно взаимодействовать с сайтами.

Вот пример на Perl:

use Test::WWW::Selenium;

my $sel = Test::WWW::Selenium->new(
    host => 'localhost',
    port => 4444,
    browser => '*firefox',
    browser_url => 'http://your_site.com'
);
$sel->start;
$sel->open('/page/to/test.cgi');

# open file to process:
open(FH, '<', 'path/to/datafile.txt');
while (<FH>) {
    @data = split(/,/,$_); # assuming data is comma separated

    $sel->wait_for_page_to_load(10000);

    $sel->type('input1',$data[0]);
    $sel->type('input2',$data[1]);
    $sel->type('input3',$data[2]);
    $sel->type('input4',$data[3]);

    $sel->click('submit_button');
}
close $fh;

Selenium особенно полезен, если для корректной работы страницы требуется JavaScript (многие сайты делают это сейчас). Если нет, то вы можете использовать что-то более простое, например, WWW :: Mechanize.

Еще одна приятная вещь в Selenium RC - это то, что он не зависит от языка программирования. Существует множество библиотек для множества языков, которые взаимодействуют с Selenium RC.

2 голосов
/ 20 января 2010

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

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