Python机械化:读取输入旁边的表格元素

时间:2010-10-03 09:18:18

标签: python webforms mechanize

我正在使用mechanize填写包含一系列行的表单。每行为<input type="checkbox">,后跟<td>name of the checkbox</td>。如何阅读名称,以便我知道是否选中此框?

由于

1 个答案:

答案 0 :(得分:0)

我建议同时使用mechanize和etree,但我不是程序员,所以不要相信我的话。注意:所有代码都在python中,并且是2.7.1版,但最多可以达到2.7.3。

希望我能提供帮助          - 只是另一个笨蛋

import mechanize
import lxml.etree as etree

url = 'something'

br = mechanize.Browser()
resp = br.open(url)
parser = etree.parser()
tree = etree.parse(resp,parser)
forms = list(br.forms())
id_info = {}
for form in forms:
    elements = form.controls
    for element in elements:
        id_info[element.attrs['id']]=''

inputs = tree.findall('.//input')
for i in inputs:
    index = list(i.getparent()).index(i)
    id_info[i.attrib['id']] = list(i.getparent)[index+1]

for j in id_info:
    print j,id_info(j)