Механизм Python: читать элемент таблицы рядом с вводом - PullRequest
1 голос
/ 03 октября 2010

Я использую mechanize , чтобы заполнить форму, содержащую ряд строк. Каждый ряд - это <input type="checkbox">, за которым следует <td>name of the checkbox</td>. Как мне прочитать имя, чтобы я знал, стоит ли ставить флажок?

Спасибо

1 Ответ

0 голосов
/ 01 августа 2011

Я бы порекомендовал использовать как механизировать, так и этри, но я не программист, так что не поверьте мне на слово.Примечание: весь код написан на python, версия 2.7.1, но должна работать до 2.7.3.

Надеюсь, я смогу помочь - Просто еще один Dunce

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)
...