如何打印无线电控制信息
我正在使用 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)
2 个回答
0
首先,弃用警告并不是错误。通常这意味着你正在运行的库或代码是为早期版本的Python写的。
我不太确定txtSource和rdoSelect之间的关系(看起来你希望它们包含相同的值?)。不过,单选按钮通常有一个符号值,而不是显示的文本。你能提供一段HTML代码的例子吗?
3
不要使用:
print br.form.possible_items("rdoSelect")
mechanize建议使用:
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']