Python Mechanize select a form with no name

Question:

I am attempting to have mechanize select a form from a page, but the form in question has no “name” attribute in the html. What should I do? when I try to use

br.select_form(name = "")

I get errors that no form is declared with that name, and the function requires a name input. There is only one form on the page, is there some other way I can select that form?

Asked By: Mantas Vidutis

||

Answers:

Try:

br.select_form(nr=0)

to select the first form

In Mechanize source,

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).
    """
Answered By: YOU

If you want to execute code for multiple forms no matter what their name is, you can loop over every form letting your script knowing which form will work next.

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
Answered By: Stam Kaly
Categories: questions Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.