Python تحديد قيمة في مربع التحرير والسرد وشركة HTTP
-
12-09-2019 - |
سؤال
في بيثون، أحاول قراءة القيم http://utahcritseries.com/rawresults.aspx.. وبعد كيف يمكنني قراءة سنوات أخرى غير الافتراضي لعام 2002؟
حتى الآن، باستخدام ميكانينز، تمكنت من الرجوع إلى تحديد وقائمة جميع الخيارات / القيم المتاحة الخاصة بها، لكنني غير متأكد من كيفية تغيير قيمتها وإعادة إرسال النموذج.
أنا متأكد من أن هذه مشكلة شائعة ويتم طرحها بشكل متكرر، لكنني لست متأكدا مما يجب أن أبحث عنه.
المحلول
إذن ماذا عن هذا:
from mechanize import Browser
year="2005"
br=Browser()
br.open("http://utahcritseries.com/RawResults.aspx")
br.select_form(name="aspnetForm")
control=br.form.find_control("ctl00$ContentPlaceHolder1$ddlSeries")
control.set_value_by_label((year,))
response2=br.submit()
print response2.read()
نصائح أخرى
مع مشاكل تتعلق بجيوكس تحميل الصفحات، واستخدام Firebug!
قم بتثبيت وفتح Firebug (وهو البرنامج المساعد Firefox)، انتقل إلى صفحة الشبكة، وتأكد من تحديد "الكل". افتح عنوان URL وتغيير المربع تحديده، ومعرفة ما يتم إرساله إلى الخادم، وما وردت.
يبدو أن الحقل المسمى جذاب ctl00$ContentPlaceHolder1$ddlSeries
هو ما المسؤول .. هل العمل التالي ..؟
import urllib
postdata = {'ctl00$ContentPlaceHolder1$ddlSeries': 9}
src = urllib.urlopen(
"http://utahcritseries.com/RawResults.aspx",
data = urllib.urlencode(postdata)
).read()
print src