Заполните формы Ajax в Python - PullRequest
       31

Заполните формы Ajax в Python

1 голос
/ 03 августа 2011

Я пытаюсь заполнить формы поля ajax (просто мой термин для этих нескольких форм), используя модуль механизации, но, похоже, он не работает. Я не веб-программист, но на самом деле окно ajax обновляет себя «onchange» событием, которое обрабатывается браузером.

Механизация, кажется, не справляется с этим, в списке ссылок (из итератора Browser.links) я могу найти URL 'javascript: AjaxRetry ();' с ошибкой msg в виде текста, которая говорит мне, что что-то пошло не так.

Вот мой код:

import mechanize as m

br = m.Browser()
br.open(url)

br.select_form(nr=0)

# fill in one form (in a real browser, the other form refresh and are not disabled anymore)
br.set_value(code, br.form.controls[10].name)

# how to make it refresh now?
#br.submit() doesn't work (also br.click() does not work (no clickable around at all))

Является ли механизировать правильный модуль для заполнения форм этого поля ajax?

Я не могу вставить ссылку на страницу, где находится этот ящик ajax, потому что вы должны войти в систему, чтобы увидеть это окно.

1 Ответ

2 голосов
/ 04 августа 2011

Механизация не обрабатывает javascript, см. Этот ответ для получения дополнительной информации и альтернативного решения. Как правильно использовать механизацию для очистки сайтов AJAX

...