Волшебные чернила Bret Victor являются фантастической статьей на информационное программное обеспечение и Графический интерфейс . Я действительно рекомендовал бы это любому делающему дизайн UI.
Вы также можете взглянуть на Mechanize . Он предназначен для обработки «программного просмотра веб-страниц с отслеживанием состояния» (согласно их сайту).
Вы, вероятно, захотите urllib2 . Он может обрабатывать такие вещи, как HTTPS, файлы cookie и аутентификацию. Возможно, вам также понадобится BeautifulSoup для помощи в синтаксическом анализе HTML-страниц.
Существует множество встроенных модулей Python, которые могут с этим помочь. Например, urllib и htmllib .
Проблема будет проще, если вы измените подход к ней. Вы говорите, что хотите «заполнить несколько форм, нажать кнопку отправки, отправить данные обратно на сервер, получить ответ», что звучит как четырехэтапный процесс.
На самом деле, вам нужно отправить некоторые данные на веб-сервер и получите ответ.
Это очень просто:
>>> import urllib
>>> params = urllib.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0})
>>> f = urllib.urlopen("http://www.musi-cal.com/cgi-bin/query", params)
>>> print f.read()
(пример взят из документации urllib).
То, что вы делаете с ответом, зависит от того, насколько сложен HTML и что вы хотите сделать с этим. Вы можете разобрать его с помощью одного или двух регулярных выражений, или вы можете использовать класс htmllib.HTMLParser,
Специфично для Internet Explorer , но довольно хорошо:
Преимущество по сравнению с urllib / BeautifulSoup состоит в том, что он также выполняет Javascript, поскольку использует IE.
Вы можете взглянуть на эти слайды из последнего итальянского pycon (pdf): Автор перечислил большую часть библиотеки для парсинга и автоматического просмотра в Python. так что вы можете взглянуть на него.
Мне очень нравится саржа (который уже предлагался), который был разработан одним из авторов носа и специально предназначен для тестирования сети сайты.
селен будет делать именно то, что вы хотите, и он обрабатывает javascript