Python mechanize:读取输入旁边的表格元素

1 投票
1 回答
1257 浏览
提问于 2025-04-16 04:55

我正在使用mechanize来填写一个包含多行的表单。每一行都有一个<input type="checkbox">,后面跟着<td>复选框的名称</td>。我该怎么读取这个名称,以便知道是否要勾选这个框呢?

谢谢

1 个回答

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)

撰写回答