Twill - Come scegliere Più seleziona con lo stesso nome
-
04-10-2019 - |
Domanda
Sto usando twill e Python di scrivere un web crawler. showforms () restituisce
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
ho preso la maggior parte delle righe per renderlo più facile da leggere. Il mio problema è che ci sono in realtà 12 seleziona e tutti hanno le 'classi' di nomi. Questi passano attraverso CGI come una lista. Tuttavia, Twill sembra incapace di distinguere tra loro. Inoltre, quando si esegue
fv('1', 'classes', '0500')
ottengo il seguente errore:
_mechanize_dist.ClientForm.AmbiguityError: id=None name='0500' label=None
Ho provato un paio di soluzioni alternative, tra cui rinominare le seleziona con i loro ID e poi riscrivere la funzione di presentare ad utilizzare un selettore jQuery e riassegnare il 'nome' attributo di nuovo a 'classi':
$('.myclasses').attr('name', 'classes');
quando ho vista nel browser, sembra riassegnare loro come previsto. Tuttavia, le intestazioni di twill mostrano ancora come la presentazione con le denominazioni 'classes1', 'classes2', ecc.
Qualsiasi aiuto sarebbe molto apprezzato. Sono fuori di soluzioni alternative, che io sappia. Perché questa non è la mia pagina, io sono legato da aspettative di una lista per seleziona le 'classi' del loro controllore.
Soluzione
per quanto ho trovato fino ad ora, non v'è alcun modo per farlo con twill. qualsiasi soluzione sta per essere un esterno soluzione di twill.