我正在尝试进行机械化解析的html是:
<select id="topic_id2" name="topics[]" title="blabla" tabindex="4" class="createSelect">
here go options
但是在它下面还有另一个下拉列表,其中包含以下代码:
<select id="topic_id3" name="topics[]" title="optional" tabindex="5" class="createSelect">
现在如果它有帮助,我不需要从后者中选择任何值,因为它是可选的。
当我尝试
时br = mechanize.Browser()
br.select_form(name="form")
br["topics[]"] = ["Internet"]
我明白了:
mechanize._form.AmbiguityError: more than one control matching name 'topics[]'
有没有办法可以使用mechanize.Browser()保留基于其id的控件(同时保留所有其他表单语法)?
由于
答案 0 :(得分:1)
mechanize
的外部文档很小,仅包含一些示例,但代码内文档更为广泛。
未对此进行测试,使用名为HTMLForm
的{{1}}实例,您应该可以调用form
并获得所需内容。我不确定如何仅使用form.find_control(id="topic_id3")
对象执行此操作,但您是否尝试过Browser
?