下面是一些基本用法示例,讓你去:
>>> import mechanize
>>> br = mechanize.Browser()
>>> br.open('http://www.w3schools.com/html/html_forms.asp')
表格具有name
屬性;有時它是空的:
>>> [f.name for f in br.forms()]
['searchform', None, None, None, None, 'input0']
表單有一系列的控件;控制也有名字:
>>> forms = [f for f in br.forms()]
>>> forms[1].controls[0].name
'firstname'
>>> [c.name for c in forms[3].controls]
['sex']
您可以在控制得到物品的清單:
>>> forms[3].controls[0].get_items()
[<Item name='male' id=None type='radio' name='sex' value='male'>, <Item name='female' id=None type='radio' name='sex' value='female'>]
單選按鈕,你必須做出一個選擇:
>>> forms[3]['sex'] = ['male']
但該選擇必須在列表中:
>>> forms[3]['sex'] = 'male'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Python/2.6/site-packages/mechanize/_form.py", line 2782, in __setitem__
control.value = value
File "/Library/Python/2.6/site-packages/mechanize/_form.py", line 1977, in __setattr__
self._set_value(value)
File "/Library/Python/2.6/site-packages/mechanize/_form.py", line 1985, in _set_value
raise TypeError("ListControl, must set a sequence")
TypeError: ListControl, must set a sequence
對於複選框,就可以進行多項選擇:
>>> [(c.name, c.get_items()) for c in forms[4].controls]
[('vehicle', [<Item name='Bike' id=None type='checkbox' name='vehicle' value='Bike'>, <Item name='Car' id=None type='checkbox' name='vehicle' value='Car'>])]
>>> forms[4]['vehicle'] = ['Bike', 'Car']
你可以找到更多信息here(鏈接從Matt Hempel :)被盜。
感謝您的支持。糾正。 – 2011-06-15 16:10:19
如果選項是? form [「FORM1」] = [「Value1」]不起作用,如何處理「content1」?謝謝 – user392412 2011-11-29 08:05:31