Python Mechanize выбрать форму без имени - PullRequest
29 голосов
/ 06 апреля 2010

Я пытаюсь механизировать выбор формы со страницы, но у рассматриваемой формы нет атрибута "name" в html. Что я должен делать? когда я пытаюсь использовать

br.select_form(name = "")

Я получаю сообщения о том, что с этим именем не объявлена ​​форма, и функция требует ввода имени. На странице есть только одна форма, есть ли другой способ выбрать эту форму?

Ответы [ 2 ]

54 голосов
/ 06 апреля 2010

Попробуйте:

br.select_form(nr=0)

для выбора первой формы

In Mechanize источник ,

def select_form(self, name=None, predicate=None, <b>nr=None</b>):
    """
    ...
    nr, if supplied, is the sequence number of the form (where 0 is the
    first).
    """
0 голосов
/ 02 октября 2016

Если вы хотите выполнить код для нескольких форм независимо от их имени, вы можете перебрать каждую форму, чтобы ваш сценарий знал, какая форма будет работать дальше.

currentForm = 0
for form in br.forms(): # Iterate over the forms
        br.select_form(nr = currentForm) # Select the form
        '''
        The code you want to run for every form
        '''
        currentForm += 1 # Add 1 to the current working form so the script knows what form is working next
...