Я использую twill и python для написания веб-сканера.showforms () возвращает
Form name=customRatesForm (#1)
## ## __Name__________________ __Type___ __ID________ __Value__________________
10 originState hidden originState TN
11 destState hidden destState IL
12 originZip text originZip 37130
13 destZip text destZip 60602
16 classes select classes1 ['0000'] of ['0000', '0500', '0550', ...
17 weight text weight1 600
18 weight text weight2
19 weight text weight3
20 weight text weight4
30 1 submit submi ... submit
Я убрал большинство строк, чтобы их было легче читать.Моя проблема в том, что на самом деле есть 12 отборов, и все они имеют название «классы».Они проходят через CGI в виде списка.Тем не менее, Твилл, кажется, не в состоянии различить их.Кроме того, когда я запускаю
fv('1', 'classes', '0500')
, я получаю следующую ошибку:
_mechanize_dist.ClientForm.AmbiguityError: id=None name='0500' label=None
Я пробовал несколько обходных путей, включая переименование селекторов с их идентификаторами и затем переписывание функции отправки для использованияселектор jQuery и переназначение их атрибута «name» обратно на «classes»:
$('.myclasses').attr('name', 'classes');
, когда я просматриваю это в браузере, кажется, что он переназначается как ожидалось.Тем не менее, заголовки twill все еще показывают его как отправку с именами 'classes1', 'classes2' и т. Д.
любая помощь будет принята с благодарностью.У меня нет обходных путей, о которых я знаю.Поскольку это не моя страница, я связан ожиданиями их контроллера относительно списка «классов» выбора.