У меня есть страница ASP.NET (расположена здесь: http://www.kraftrecipes.com/Products/ProductMain.aspx), в котором есть раскрывающийся список различных брендов продуктов питания. Я пытаюсь использовать Mechanize в Python, поэтому я могу щелкнуть каждый элемент в списке, перейти на страницу со списком продуктов и, в конечном итоге, использовать BeautifulSoup для очистки информации о продукте. Вот часть HTML:
<fieldset class="pulldownfieldset">
<label>...or use the pulldown menu below.</label>
<select name="ctl00$SPWebPartManager1$g_9bdf5859_9c73_4144_8b6a_9a3b3df417d5$ctl01$ddlBrand"
id="ctl00_SPWebPartManager1_g_9bdf5859_9c73_4144_8b6a_9a3b3df417d5_ctl01_ddlBrand"
onkeypress="return doSubmit(event, 'ctl00_SPWebPartManager1_g_9bdf5859_9c73_4144_8b6a_9a3b3df417d5_ctl01_btnBrandGo');">
<option value="322">Arrowroot</option>
<option value="1">A.1. Steak Sauces and Marinades</option>
etc.
Сначала я просто попытался выбрать форму, но Python пожаловался, что ее не существует.
browser.select_form("ctl00$SPWebPartManager1$g_9bdf5859_9c73_4144_8b6a_9a3b3df417d5$ctl01$ddlBrand")
Когда я делаю это:
browser.select_form(nr=0)
print browser.form
Я получаю список всех форм, но выполнение browser.form.name
дает "aspnetForm", что наводит меня на мысль, что Mechanize видит все на странице как одну большую форму. Если это правда, как я могу получить выбор в раскрывающемся списке и отправить его?
Дайте мне знать, если вам нужна дополнительная информация.
Спасибо.