سؤال

أنا أستخدم Twill و Python لكتابة زاحف على شبكة الإنترنت. عوائد 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      

لقد أخرجت معظم الصفوف لتسهيل القراءة. مشكلتي هي أن هناك بالفعل 12 اختيارًا وأن جميعها لها اسم "الفصول". هذه تمر عبر CGI كقائمة. ومع ذلك ، يبدو أن Twill غير قادر على التمييز بينهما. أيضا ، عندما أركض

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

أحصل على الخطأ التالية:

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

لقد جربت بعض الحلول بما في ذلك إعادة تسمية الاختيار مع معرفاتها ثم إعادة كتابة وظيفة إرسال لاستخدام محدد jQuery وإعادة تعيين "اسم" السمة مرة أخرى إلى "الفئات":

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

عندما أرى هذا في المتصفح ، يبدو أن يعيد تعيينه كما هو متوقع. ومع ذلك ، لا تزال رؤوس Twill تُظهرها على أنها ترسل بأسماء "Class1" ، "Classe2" ، إلخ.

أي مساعدة سيكون محل تقدير كبير. أنا خارج الحل التي أعرفها. نظرًا لأن هذه ليست صفحتي ، فأنا ملزم بتوقعات وحدة التحكم الخاصة بهم بقائمة "الفصول" التي تختارها.

هل كانت مفيدة؟

المحلول

بقدر ما وجدت حتى الآن ، لا توجد وسيلة للقيام بذلك مع Twill. أي حل سيكون بمثابة حل خارج تلي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top