Я использую механику Python для добавления элементов в корзину для покупок Amazon. На странице продукта товара вы выберите «Количество» в раскрывающемся меню формы и отправьте «Добавить в корзину».Python Mechanize - Как отправить незарегистрированное значение в выпадающем меню
Раскрывающееся меню позволяет выбрать Количество от 1 до 30.
Следующего код работает для добавления какого-либо продукта с величинами 1 по 30. Однако, это не работает, когда я пытаюсь добавить количество больше 30, т. Е. Когда значение не выражено в раскрывающемся меню).
Максимальное значение 30 в раскрывающемся меню - искусственное ограничение. Фактически вы можете добавить до 999 элементов без проблем (используя Firebug для отправки значения, превышающего 30, подтверждает это).
Мой вопрос - как я могу изменить следующий код, чтобы успешно отправить количество NOT, указанное в качестве значения в выпадающем меню?
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'
Hi Matt. Да, максимальный размер заказа определенно 999, если в инвентаре достаточно товара. В примере кода этот продукт имеет около 700 в настоящее время в инвентаре. Если вы используете firebug для изменения одного из выпадающих меню значений, скажем, количество = 31, форма должна пройти успешно. Вы пытались с Firebug? – Max