У меня есть страница 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 видит все на странице как одну большую форму. Если это правда, как я могу получить данные в выпадающем списке и отправить их?
Дайте мне знать, если вам нужна дополнительная информация.
Спасибо.