2010-09-20 4 views
2

Я использую twill и python для написания веб-искателя. showforms() возвращаетTwill - как выбрать несколько вариантов с тем же именем

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 и переназначить «имя» их атрибут обратно к «классам»:

$('.myclasses').attr('name', 'classes'); 

при просмотре в браузере, это, кажется, переназначить их, как и ожидалось. Тем не менее, заголовки twill по-прежнему показывают его как отправление с именами «classes1», «classes2» и т. Д.

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

ответ

1

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

Смежные вопросы