Twill - كيف تختار اختيارات متعددة بنفس الاسم
-
04-10-2019 - |
سؤال
أنا أستخدم 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. أي حل سيكون بمثابة حل خارج تلي.