سؤال

في بيثون، أحاول قراءة القيم 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
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top