Почему механизировать список одной формы? - PullRequest
3 голосов
/ 09 ноября 2010

Если вы запускаете следующую программу:

import mechanize

br = mechanize.Browser()
br.open("http://hansardindex.ontla.on.ca/hansarde.asp")
for f  in br.forms():
    print f.name

Печатается только одна строка вывода. Однако, если вы посещаете страницу, есть много форм с такими именами, как «DateFrom». Почему механизация не перечисляет другие формы?

1 Ответ

3 голосов
/ 10 ноября 2010

Существует разница между «формами» и «вводом». Форма может содержать много полей ввода.
см http://www.w3schools.com/html/html_forms.asp

Механизация правильна, есть только ОДНА форма, но с несколькими полями ввода.

Что вы, вероятно, хотите сделать, это получить доступ к полям ввода по имени. Так, например, настройка поля ввода 'searchcontents' работает следующим образом:

form = forms[0]
form["searchcontents"] = "keyword"

для получения дополнительной информации, пожалуйста, ознакомьтесь с документацией по механизации на http://wwwsearch.sourceforge.net/mechanize/forms.html

...