gpt4 book ai didi

asp.net - 无法弄清楚如何使用 Mechanize 和 Python 从 ASP.NET 页面上的下拉框中选择项目

转载 作者:行者123 更新时间:2023-12-04 16:22:32 25 4
gpt4 key购买 nike

我有一个 ASP.NET 页面(位于此处:http://www.kraftrecipes.com/Products/ProductMain.aspx),其中包含各种食品品牌的下拉框。我正在尝试在 Python 中使用 Mechanize,以便我可以单击列表中的每个项目,转到产品列表页面,并最终使用 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 将页面上的所有内容视为一个大表单。如果这是真的,我怎样才能获得下拉框中的选择并提交它们?

如果您需要更多信息,请与我们联系。

谢谢。

最佳答案

页面上只有一个表格。你想要的是控制。
尝试:

form = browser.forms()[0]
control = form.find_control(name="ctl00$SPWebPartManager1$g_9bdf5859_9c73_4144_8b6a_9a3b3df417d5$ctl01$ddlBrand")

关于asp.net - 无法弄清楚如何使用 Mechanize 和 Python 从 ASP.NET 页面上的下拉框中选择项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8335909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com