Frage

Ich verwende Köper und Python einen Web-Crawler zu schreiben. showforms () zurückkehrt

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      

Ich habe die meisten der Zeilen herausgenommen, um es einfacher zu lesen. Mein Problem ist, dass es tatsächlich 12 wählt und alle von ihnen haben den Namen ‚Klassen‘. Diese gehen durch CGI als Liste. Allerdings scheint Twill nicht in der Lage, zwischen ihnen zu unterscheiden. Auch, wenn ich laufe

fv('1', 'classes', '0500')

ich die folgende Fehlermeldung erhalten:

_mechanize_dist.ClientForm.AmbiguityError: id=None name='0500' label=None

Ich habe ein paar Abhilfen versucht, einschließlich der wählt mit ihren IDs umbenennen und dann die Funktion Umschreiben senden Sie einen jQuery-Selektor zu verwenden, und weisen Sie ihr ‚name‘ Attribut zurück in ‚Klassen‘:

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

, wenn ich das im Browser zu sehen, so scheint es, sie neu zuzuweisen, wie erwartet. Allerdings Header des Köper noch zeigen sie mit dem Namen ‚klassen1‘ als Vorlage, ‚classes2‘, etc.

Jede Hilfe wäre sehr geschätzt. Ich bin aus den Abhilfen, die ich kenne. Da dies nicht meine Seite ist, bin ich von ihrem Controller der Erwartungen einer Liste für die ‚Klassen‘ wählt gebunden.

War es hilfreich?

Lösung

soweit ich bis jetzt gefunden habe, gibt es keine Möglichkeit, dies mit Köper zu tun. Jede Lösung wird eine Abhilfe außerhalb von Köper sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top