我正在使用mechanize
模块从网页中检索信息。它有一个无线电控制部分,我在移动到下一页之前选择它。我可以通过为其赋值来轻松选择值。但是可以检索候选单选按钮的值。我的表单的RadioSelect
部分如下所示:
<RadioControl(rdoSelect=[1634,ABX EXPRESS, 16650,XYZ EXP])>
我可以通过以下方式轻松设置值:
br.form['txtSource']='1634,ABX EXPRESS'
我想要的是退出清单:
[1634,ABX EXPRESS, 16650,XYZ EXP]
更新
当我给出
print br.form['rdoSelect']
结果给出[]
我可以使用
获取值print br.form.possible_items("rdoSelect")
但它给了我这个
/usr/lib/python2.5/site-packages/ClientForm.py:2984: DeprecationWarning: [item.name for item in self.items]
return c.possible_items(by_label)
答案 0 :(得分:3)
而不是:
print br.form.possible_items("rdoSelect")
机械化说要使用:
options = [item.name for item in form.find_control('rdoSelect').items]
使用示例:
#!/usr/bin/python
import re
import mechanize
br = mechanize.Browser()
r = br.open("http://www.htmlcodetutorial.com/forms/_INPUT_TYPE_RADIO.html")
form = mechanize.ParseResponse(r, backwards_compat=False)[2]
options = [item.name for item in form.find_control('pizzasize').items]
print options
收率:
['S', 'M', 'L']
答案 1 :(得分:0)
首先,弃用警告不是错误。通常,这意味着您运行的库或代码是为早期版本的Python编写的。
我不确定txtSource是如何与rdoSelect相关的(似乎你希望它们包含相同的值?)。但是,单选按钮通常具有符号值而不是显示的文本。你能提供HTML代码的样本吗?