Python Mechanize-如何在下拉菜单中提交未列出的值

Python Mechanize-如何在下拉菜单中提交未列出的值,python,html,web-scraping,mechanize,web-mining,Python,Html,Web Scraping,Mechanize,Web Mining,我正在使用Python的mechanize将商品添加到Amazon购物车中。在项目的产品页面上,您在表单的下拉菜单中选择数量,然后提交添加到购物车 下拉菜单允许您选择从1到30的数量 以下代码用于添加数量为1到30的任何产品。但是,当我尝试添加大于30的数量时,即当该值未在下拉菜单中明确表示时,它不起作用) 下拉菜单中的最大值30是一个人工约束。事实上,您最多可以添加999个项目而不会出现问题(使用Firebug提交大于30的值可以确认这一点) 我的问题-如何更改以下代码以成功提交未在下拉菜单中

我正在使用Python的mechanize将商品添加到Amazon购物车中。在项目的产品页面上,您在表单的下拉菜单中选择数量,然后提交添加到购物车

下拉菜单允许您选择从1到30的数量

以下代码用于添加数量为1到30的任何产品。但是,当我尝试添加大于30的数量时,即当该值未在下拉菜单中明确表示时,它不起作用)

下拉菜单中的最大值30是一个人工约束。事实上,您最多可以添加999个项目而不会出现问题(使用Firebug提交大于30的值可以确认这一点)

我的问题-如何更改以下代码以成功提交未在下拉菜单中作为值列出的数量

import mechanize

br = mechanize.Browser()
br.set_handle_robots(False)
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]

# Open an Amazon product page
br.open('http://www.amazon.com/gp/product/B005KOKFR4/')

# Add to Cart is form [1]
br.select_form(nr=1)

# Change quantity
br.form['quantity'] = ['31']

# Submit form
br.submit()

print br.response().read()
如果数量在1-30之间,则上述代码有效。当数量为31或更多时,错误为:

mechanize._form.ItemNotFoundError: insufficient items with name '31'

看起来,即使我试图手动输入一个大于30的数字,它也不允许我这样做。你确定它最多可以达到999吗?也许30是最大订单量?

嗨,马特。是的,如果库存中有足够的物品,最大订单量肯定是999。在代码示例中,该产品目前有大约700个库存。如果您使用firebug将其中一个下拉菜单值更改为(例如)quantity=31,则表单应成功通过。你试过Firebug吗?