tuto – ruby – webform

Les formulaires en ruby avec mechanize … tout un programme .. C’est la raison qui m’a poussé à faire une petite intro sur le sujet.

 

Vous allez trouver ici comment lister de manière simple les formulaires contenus dans une url, ainsi que chacun des champs de ces formulaires.
Je décrirais encore comment choisir un formulaire à partir d’une de ses spécificités.
La classe est concerné est la suivant : Mechanize::Form

et vous pourrez trouver toutes les informations qui vous seront nécessaire par ici :

http://mechanize.rubyforge.org/Mechanize/Form.html

 

création classique de l’instance new de mechanize et récupération de la page reddit.com :

@agent = Mechanize.new
 page = @agent.get('http://www.reddit.com/login')

 

on peut trouver un formulaire spécifique dans une page à partir de son champ action, de son champ nom, ou encore à partir de toute autre de ses caractéristiques :

form = page.form_with(:action => %r{post/login})

 

voici un petit bout de code qui va lister les formulaires contenus dans une page donnée (pratique quand on désire en cibler un), ainsi que tous les champs de chacun des formulaires trouver :

    begin
       page = @post_agent.get(url)
       if not page.nil? && page.forms.length > 0
            page.forms.each { |ff| 
           ff.fields.each { |f| 
            puts f.name 
           }
         }
       end
    rescue Mechanize::ResponseCodeError
       raise e
    end

 

 

J’espère que ces quelques lignes vous auront donné envie d’approfondir un peu vos recherches sur le sujet.