在Python中使用Mechanize设置表单中的选择控件

4 投票
1 回答
6904 浏览
提问于 2025-04-17 08:46

我正在尝试使用mechanize来选择一个表单。

browser.select_form('frmChangeLanguage')

.. 这部分我搞定了。

但是我在更改表单中的下拉框,然后用新值提交表单时遇到了困难。这个控件看起来是这样的:

<table>
<tr>
<td>
<select id="controlID" class="select" name="selectLang">
<option value='4' selected>en</option>
<option value='1' >fr</option>
<option value='2' >hk</option>
</select>
</td>
</tr>
<tr>
<td><input type="submit" name="button" id="button" value="Submit"/></td>
</tr>
</table>

我现在的做法是:

control = browser.form.controls[0]
control._value = 1    
browser.submit(name='button')

但这似乎不太管用。有没有什么建议? 我在Windows上使用的是Python 2.7,并且安装了Mechanize。

1 个回答

7

根据文档,下面的代码应该可以正常运行:

form["selectLang"] = ["1"]
mechanize.urlopen(form.click())

撰写回答