Twill - как выбрать несколько вариантов с одним именем - PullRequest
2 голосов
/ 21 сентября 2010

Я использую 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' и т. Д.

любая помощь будет принята с благодарностью.У меня нет обходных путей, о которых я знаю.Поскольку это не моя страница, я связан ожиданиями их контроллера относительно списка «классов» выбора.

1 Ответ

1 голос
/ 08 октября 2010

Насколько я нашел до сих пор, это невозможно сделать с твилом любое решение будет обходным путем вне саржи.

...