1

私がこのようなフォームを持っているとしましょう:

<td>
    <select name="text1" class="long" >
     <option value="">-- unknown --</option>
     <option value="1">test1</option>
     <option value="2">test2</option>
     <option value="3">test3</option>
     <option value="4">test4</option>
    </select>
</td>

mechanizeを使用して、可能なすべてのオプション値(この場合は''、 '1'、 '2'、 '3'、 '4')を取得する方法はありますか?

4

1 に答える 1

3

まず最初に、実際の html フォームが必要です:

html = '''
<form>
<td>
    <select name="text1" class="long" >
     <option value="">-- unknown --</option>
     <option value="1">test1</option>
     <option value="2">test2</option>
     <option value="3">test3</option>
     <option value="4">test4</option>
    </select>
</td>
</form>
'''
forms = mechanize.ParseString(html, 'fake')
form = forms[1] # 0th is kind of default one here

control = form.controls[0] # the select
print [item.attrs['value'] for item in control.items]

Out: ['', '1', '2', '3', '4']

更新。コードをより美しくしました

于 2012-09-06T09:57:20.800 に答える