Хобрук: Ваш путь к мастерству в программировании

Использование Mechanize (Python) для заполнения формы

Я хочу заполнить форму на этой странице с помощью механизма Python, а затем записать ответ. Как я должен это делать? Когда я ищу формы на этой странице, используя следующий код, он показывает форму только для поиска. Как мне найти имя формы другой формы с такими полями, как имя, пол и т. д.?

http://aapmaharashtra.org/join-us

Код:

import mechanize
br=mechanize.Browser()
br.open("http://aapmaharashtra.org/join-us")
for form in br.forms():
    print "Form name:", form.name
    print form

  • @alecxe Спасибо, помогло! У меня есть еще один ответ. В форме при выборе любого штата параметры в поле района меняются динамически. Как я должен увидеть новые возможные варианты для района с помощью Mechanize? 10.03.2014

Ответы:


1

Нужная вам форма (с id="form1") подгружается динамически на лету - поэтому вы не видите ее в результатах select_forms().

С помощью инструментов разработчика браузера вы можете обнаружить, что форма загружается по http://internal.aamaadmiparty.org/Directory/Format.aspx?master=blank ссылке.

Вот с чего тогда стоит начать:

import mechanize


br = mechanize.Browser()
br.open("http://internal.aamaadmiparty.org/Directory/Format.aspx?master=blank")
br.select_form(nr=0)

br.form['ctl00$MainContent$txtname'] = 'Test Name'
# fill out other fields

req = br.submit()

Надеюсь, это поможет.

10.03.2014
  • Кстати, иногда проще просмотреть код с помощью инструментов разработчика, чтобы найти конечную точку, в которую отправляется форма, а затем просто использовать запрашивает размещение необходимой информации. 10.03.2014
  • Новые материалы

    Учебные заметки JavaScript Object Oriented Labs
    Вот моя седьмая неделя обучения программированию. После ruby ​​и его фреймворка rails я начал изучать самый популярный язык интерфейса — javascript. В отличие от ruby, javascript — это более..

    Разбор строк запроса в vue.js
    Иногда вам нужно получить данные из строк запроса, в этой статье показано, как это сделать. В жизни каждого дизайнера/разработчика наступает момент, когда им необходимо беспрепятственно..

    Предсказание моей следующей любимой книги 📚 Благодаря данным Goodreads и машинному обучению 👨‍💻
    «Если вы не любите читать, значит, вы не нашли нужную книгу». - J.K. Роулинг Эта статья сильно отличается от тех, к которым вы, возможно, привыкли . Мне очень понравилось поработать над..

    Основы принципов S.O.L.I.D, Javascript, Git и NoSQL
    каковы принципы S.O.L.I.D? Принципы SOLID призваны помочь разработчикам создавать надежные, удобные в сопровождении приложения. мы видим пять ключевых принципов. Принципы SOLID были разработаны..

    Как настроить Selenium в проекте Angular
    Угловой | Селен Как настроить Selenium в проекте Angular Держите свое приложение Angular и тесты Selenium в одной рабочей области и запускайте их с помощью Mocha. В этой статье мы..

    Аргументы прогрессивного улучшения почти всегда упускают суть
    В наши дни в кругах веб-разработчиков много болтают о Progressive Enhancement — PE, но на самом деле почти все аргументы с обеих сторон упускают самую фундаментальную причину, по которой PE..

    Введение в Джанго Фреймворк
    Схема «работать умно, а не усердно» В этой и последующих статьях я познакомлю вас с тем, что такое фреймворк Django и как создать свое первое приложение с помощью простых и понятных шагов, а..