Python Mechanize:如何在网页中选择两个同名的下拉列表?
我想让 mechanize 解析的 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[]'
有没有办法让我通过 id 来选择一个控件,使用 mechanize.Browser()(同时保留其他表单的语法)?
谢谢
1 个回答
1
关于mechanize
的外部文档其实很少,里面只有几个例子,但代码内部的文档要详细得多。
虽然我没有测试过,不过如果你有一个叫form
的HTMLForm
实例,你应该可以用form.find_control(id="topic_id3")
来找到你想要的东西。我不太确定如果只有一个Browser
对象该怎么做,但你试过用br.find_control(id="topic_id3")
吗?