Sergé - Comment choisir les sélections multiples avec le même nom
-
04-10-2019 - |
Question
J'utilise sergé et python pour écrire un robot web. retours d'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
J'ai retiré la plupart des lignes pour le rendre plus facile à lire. Mon problème est qu'il ya effectivement 12 sélectionne et tous ont le nom de « classes ». Ceux-ci passent par CGI comme une liste. Cependant, Twill semble incapable de les distinguer. Aussi, quand je lance
fv('1', 'classes', '0500')
je reçois l'erreur suivante:
_mechanize_dist.ClientForm.AmbiguityError: id=None name='0500' label=None
J'ai essayé quelques solutions de contournement, y compris les renommer avec leurs sélections ids puis la réécriture de la fonction d'envoi à utiliser un sélecteur de jQuery et réassigner le dos d'attribut « nom » à « classes »:
$('.myclasses').attr('name', 'classes');
quand je vois dans le navigateur, il semble les réassigner comme prévu. Cependant, les en-têtes de twill montrent encore que la soumission des noms de classes1 ', 'classes2', etc.
toute aide serait appréciée. Je suis hors de solutions de contournement que je connais. Parce que ce n'est pas ma page, je suis lié par les attentes de leur contrôleur d'une liste pour les sélectionner 'les classes de.
La solution
pour autant que je l'ai trouvé jusqu'à présent, il n'y a aucun moyen de le faire avec sergé. toute solution va être une solution de contournement extérieur de sergé.