механизировать не удалось получить все формы (включая некоторые, сгенерированные js)

#python #perl #forms #mechanize

#python #perl #формы #механизировать

Вопрос:

это HTML-файл, включающий в себя две формы. Один из них генерируется js динамически при загрузке страницы

Таким образом, если я попытаюсь извлечь их, может быть возвращена только одна форма, а сгенерированная динамическая форма не найдена.

вопрос в том

как получить все формы, даже если они сгенерированы js.

Ответ №1:

Насколько я знаю, Mechanize не обрабатывает javascript.

Это означает, что вы должны либо сгенерировать форму самостоятельно — прочитав JS, который создает форму, а затем «перевести» ее на python и вставить в свой скрипт.

или: автоматизируйте реальный браузер, который понимает Javascript, используя что-то вроде Watir ruby

Ответ №2:

Запустите Firefox, используйте заголовки HTTP Live для проверки того, что делает javascript, затем имитируйте это, используя Mechanize / соответствующие HTTP-запросы.

Ответ №3:

Используйте браузер, который понимает javascript в соответствии с WWW::Mechnize::FAQ, браузер, подобный WWW::Mechanize::Firefox или WWW::Scripter