Как автоматически заполнить текстовую область в онлайн-форме с помощью Python? - PullRequest
1 голос
/ 21 декабря 2011

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

Заполнение значений формы на веб-странице с помощью скрипта Python (не тестирование)

Даже самому пакету "mechanize" не хватаетдокументация:

http://wwwsearch.sourceforge.net/mechanize/

В частности, я хочу заполнить TextArea на этой странице (адреса): http://stevemorse.org/jcal/latlonbatch.html?direction=forward

, поэтому я не знаю, что янадо искать?Должен ли я искать "идентификатор" textArea?«Не похоже, что у него есть« id »(или я очень наивный!).Как я могу "select_form"?

Python, веб-гуру, пожалуйста, помогите.

Спасибо

1 Ответ

2 голосов
/ 22 декабря 2011

Посмотрите, поможет ли мой ответ на другой вопрос, который вы указали: https://stackoverflow.com/a/5685569/711017

EDIT: Вот явный код для вашего примера. Сейчас у меня не установлена ​​механизация, поэтому я не смог проверить код. Нет онлайн IDE, я проверил, тоже есть. Но даже если это не сработает, поиграйте с ним, и вы должны в конечном итоге добраться до него:

import re
from mechanize import Browser
br = Browser()
br.open("http://stevemorse.org/jcal/latlonbatch.html?direction=forward")
br.select_form(name="display")
br["locations"] = ["Hollywood and Vine, Hollywood CA"]
response = br.submit()
print response.read()

Объяснение: br эмулирует браузер, который открывает ваш URL и выбирает желаемую форму. На сайте он называется display . Текстовое поле для ввода адреса называется location , в которое я заполняю адрес, затем отправляю форму. Все, что возвращает сервер, - это строка response.read(), в которой вы должны найти свои лат-лонги. Установить механизировать и проверить.

...