mechanize select form using id

sam picture sam · May 8, 2012 · Viewed 34.8k times · Source

I am working on mechanize with python.

<form action="/monthly-reports"  accept-charset="UTF-8" method="post" id="sblock">

The form here does not have a name. How can I parse the form using it's id?

Answer

python412524 picture python412524 · Dec 2, 2012

I found this as a solution for the same problem. br is the mechanize object:

formcount=0
for frm in br.forms():  
  if str(frm.attrs["id"])=="sblock":
    break
  formcount=formcount+1
br.select_form(nr=formcount)

I'm sure the loop counter method above could be done more pythonic, but this should select the form with attribute id="sblock".