2011-08-03 3 views
1

J'essaie de remplir des formulaires d'une boîte ajax (juste mon terme pour ces plusieurs formes) en utilisant le module mécanize, mais il semble ne pas fonctionner. Je ne suis pas un programmeur web mais la boîte ajax se met à jour elle-même 'onchange' avec un événement qui est géré par le navigateur.Remplir des formulaires Ajax en Python

Mécaniser semble ne pas gérer cela, dans la liste des liens (de l'itérateur Browser.links) je peux trouver un url 'javascript: AjaxRetry();' avec une erreur msg comme texte qui me dit que quelque chose a mal tourné.

Voici mon code:

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)) 

Est-mécaniser le module droit de remplir des formulaires de cette boîte ajax?

Je ne peux pas coller le lien vers la page où se trouve cette case ajax, car vous devez être connecté pour voir cette boîte.

+0

S'il vous plaît nous montrer le code. – Marcin

+0

ajouté (pas grand-chose en fait) – naeg

+0

Mechanize n'expose qu'une tête de navigateur. Vous devriez interpréter le JavaScript vous-même. –

Répondre

Questions connexes