Я создаю скрипт, который отправляет форму.Проблема, с которой я сталкиваюсь, заключается в том, что некоторые параметры скрыты и не отображают параметры (в исходном коде HTML), пока другие поля не будут заполнены.
Я получаю ошибку ItemNotFoundError: недостаточно элементов с именем «xxx».
Я попытался изменить поля в «правильном порядке», но, как и ожидалось, это не меняет результат.
Мой код выглядит примерно так:
import mechanize
br = mechanize.Browser()
br.set_handle_robots(False) #ignore robots.txt
br.addheaders = [('User-agent', 'Mozilla/5.0 (Windows NT 5.2; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11')]
bot = br.open("www.website.com")
br.select_form(nr=0)
br['type'] = ["xxx",]
br['specific'] = ["yyy",]
Проблема, как указывалось ранее, заключается в том, что "тип" и "конкретный" имеют отношение один ко многим, и оба они выпадающие, выберитеполя.Когда вы выбираете «тип», появляются различные варианты «конкретного».
Когда вы впервые просматриваете источник страницы для веб-сайта, единственная опция для «конкретного» - -1.Если вы выберете что-то для «типа», появится несколько опций для «конкретного», но механизация не сможет их увидеть.Напротив, я могу просматривать их в исходном коде страницы в этот момент.
Когда я отправляю форму через br.submit (), я получаю ItemsNotFoundError, поскольку он не может видеть эти значения.есть ли способ преодолеть это?
Я пытался решить эту проблему уже несколько часов, поэтому я был бы очень признателен, если бы кто-нибудь смог мне помочь.