Python - заполните и отправьте форму HTML - PullRequest
3 голосов
/ 28 ноября 2010

Я хотел бы заполнить и отправить форму на веб-странице, используя python.Форма, с которой я хочу взаимодействовать, имеет несколько раскрывающихся списков, которые заполняются с помощью JavaScript.Я посмотрел на библиотеку mechanize , но она не поддерживает JavaScript.Можете ли вы предложить альтернативную библиотеку / метод для взаимодействия с формой?

Приветствия,

Пит

Ответы [ 2 ]

3 голосов
/ 28 ноября 2010
  1. Selenium RC или Windmill (http://www.getwindmill.com/)

  2. Изучите возвращенные значения формы GET или POST; используйте urllib2 для прямой отправки синтезированных запросов.

0 голосов
/ 28 ноября 2010

Форма эффективно отправляет информацию обратно на сервер (или, возможно, куда-то еще) после нажатия кнопки отправки.

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

Так, например, некоторые формы помещают параметры, указанные в форме (и их значения), в конец URL-адреса в HTTP-запросе после отправки формы. Другие помещают параметры в тело HTTP-запроса. В PHP я знаю, что PHP автоматически выводит эти параметры за вас (в глобальный массив).

В этом случае вы просто поместите свою собственную версию параметров (имен / значений) в запрос HTTP, посмотрев, какие имена / значения есть в исходном коде форм.

Хотя форма может отправлять свою информацию на сервер, используя JavaScript ...

Извините, если это не имело смысла.

...