0

我想填写一个 HTML 表单,我正在使用 python 的机械化模块。我的 HTML 代码类似于复选框,下拉菜单是:

<div id="post_cd">
<input role="checkbox" id="cd_info" class="cbox" type="checkbox">
<span class="s-iso" style="display:none"></div>


<label for="type" id="cdtype" class="cd" style="width:60px;margin:1px;float:left;text-align:right;">CD type:</label>
<select id='cdtype' class=" ui-iso" style="width:100px;margin:1px;float:left;">
                <option value="CD1">Error1</option>
                <option value="CD2">Error1</option>
                <option value="CD3">Error2</option>
             </select>

我尝试了以下但收到错误:

对于复选框: form.find_control("cd_info").items[0].selected = True 对于下拉列表: form['cdtype']= ['Error1']

错误:

    raise ControlNotFoundError("no control matching "+description)
mechanize._form.ControlNotFoundError: no control matching name 'cd_info'

    raise ControlNotFoundError("no control matching "+description)
mechanize._form.ControlNotFoundError: no control matching name 'cdtype'
4

1 回答 1

0

您的 HTML 代码中没有<form>。因此,可能form不是指向您在调用时提供的 HTML 代码find_control或订阅运营商周围的元素。

您可以尝试打印表单的文本,以确保您查看的是正确的内容:

print form
于 2013-04-02T07:09:48.103 回答