在Python中选择禁用的表单

时间:2015-10-16 23:48:29

标签: python mechanize python-2.6 mechanize-python

我一直试图选择一个有“禁用”字样的表格。按钮和python中的属性一直给出错误说:

AttributeError: control 'None' is disabled

表格如下:

<form method="POST" action="http://test.com" accept-charset="UTF-8">
<input name="abc" type="hidden" value="def">
<input type="hidden" name="ghi" value="jkl">
<button disabled></button>
</form>

我使用的代码:

import mechanize
br = mechanize.Browser()
br.select_form(nr=0)

在我选择它之后,我得到了上述错误,我可以删除任何方式&#34;禁用&#34;通过在机械化中编辑html或以任何其他方式编辑表单中的属性?

1 个答案:

答案 0 :(得分:-1)

我看到机械化源代码尝试将值""分配给类SubmitControl(_form.py:2336)中的禁用按钮,这会导致问题:

if self.value is None: self.value = ""

也许这是机械化中的错误?

我现在尝试了一个hack,它似乎正在工作,但我不知道这样做的全部后果:

if self.value is None and self.disabled==False: self.value = ""