Twill - Как выбрать несколько выборов с же именем
-
04-10-2019 - |
Вопрос
Я использую Twill и Python, чтобы написать веб-гусенику. ShortForms () возвращает
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 по-прежнему показывают его как представление с именами «Классы1», «Классы2» и т. Д.
Любая помощь приветствуется. У меня нет обходных путей, о которых я знаю. Поскольку это не моя страница, я связан ожиданиями их контроллера списка для выбора «классов».
Решение
Насколько я уже нашел до сих пор, нет возможности сделать это с Twill. Любое решение будет обходным отверстием за пределами твила.