Aller au contenu principal

Remplir des formulaires et cliquer

L’interaction la plus courante

Remplir des formulaires est probablement le cas d’usage le plus fréquent de Computer Use. Que ce soit pour soumettre un contact, remplir un devis, ou saisir des données dans un CRM, votre agent doit maîtriser la frappe et le clic avec précision.

Frappe de texte

L’action type envoie du texte au champ actuellement focalisé. Pour remplir un champ spécifique, le workflow est toujours :

  1. Cliquer sur le champ pour le focaliser
  2. Taper le texte
# Dans votre exécuteur d'actions
def execute_type(page, text: str):
    """Tape du texte dans le champ focalisé."""
    page.keyboard.type(text, delay=50)

Le paramètre delay=50 simule une frappe humaine à ~20 caractères/seconde. C’est important car certains sites vérifient la vitesse de frappe (protection anti-bot).

Vider un champ avant de taper

Si le champ contient déjà du texte, il faut le sélectionner avant de taper :

def clear_and_type(page, text: str):
    """Sélectionne tout le contenu du champ puis tape."""
    page.keyboard.press("Control+a")  # Tout sélectionner
    page.keyboard.type(text, delay=50)

Intégrez cette logique dans votre prompt :

task = """
Remplis le formulaire de contact :
- Champ "Nom" : Dupont
- Champ "Email" : [email protected]
- Champ "Message" : Demande de devis pour 50 licences

IMPORTANT : Avant de taper dans chaque champ, 
sélectionne tout le texte existant (Ctrl+A) pour le remplacer.
Après avoir rempli tous les champs, clique sur le bouton Envoyer.
"""

Les menus déroulants (select)

Les menus déroulants <select> nécessitent un traitement spécial :

  1. Cliquer sur le menu pour l’ouvrir
  2. Attendre que les options apparaissent
  3. Cliquer sur l’option souhaitée

Pour les menus déroulants personnalisés (JavaScript), le processus est le même visuellement. L’IA clique, voit les options dans le screenshot suivant, et clique sur celle qui correspond.

Cases à cocher et boutons radio

Ces éléments sont simples à gérer : un clic suffit. Mais votre agent doit vérifier leur état actuel pour éviter de décocher une case déjà cochée :

task = """
Dans le formulaire d'inscription :
1. Coche la case "J'accepte les conditions" si elle n'est pas cochée
2. Sélectionne "Entreprise" dans le type de compte
3. Clique sur "Créer le compte"

Vérifie l'état de chaque élément AVANT de cliquer.
"""

Formulaires multi-étapes

Beaucoup de formulaires modernes se déroulent en plusieurs pages. Guidez votre agent avec des instructions séquentielles :

task = """
Remplis le formulaire d'inscription en 3 étapes :

ÉTAPE 1 - Informations personnelles :
- Prénom : Jean
- Nom : Dupont
- Date de naissance : 15/03/1985
→ Clique sur "Suivant"

ÉTAPE 2 - Coordonnées :
- Email : [email protected]
- Téléphone : 06 12 34 56 78
- Adresse : 12 rue de la Paix, 75002 Paris
→ Clique sur "Suivant"

ÉTAPE 3 - Confirmation :
- Vérifie que toutes les informations sont correctes
- Coche "J'accepte les CGU"
→ Clique sur "Valider"
"""

Gestion des erreurs de validation

Les formulaires affichent souvent des messages d’erreur. Votre agent doit les lire et réagir :

system_prompt = """
Après avoir soumis un formulaire :
1. Prends un screenshot pour voir le résultat
2. Si des messages d'erreur apparaissent (en rouge, encadrés), 
   lis-les et corrige les champs concernés
3. Resoumets le formulaire
4. Répète jusqu'à ce que le formulaire soit accepté 
   ou que tu aies essayé 3 fois
"""

Upload de fichiers

L’upload de fichiers est un cas spécial car Computer Use ne peut pas interagir avec la boîte de dialogue native du système d’exploitation. Utilisez Playwright directement :

def handle_file_upload(page, file_path: str, selector: str):
    """Upload un fichier via Playwright (pas via Computer Use)."""
    page.set_input_files(selector, file_path)

Combinez cela avec votre agent :

# L'agent clique sur "Parcourir", puis vous interceptez
page.on("filechooser", lambda fc: fc.set_files("/path/to/file.pdf"))

Points clés à retenir

  • Toujours cliquer sur un champ avant de taper dedans
  • Utilisez Ctrl+A pour vider un champ avant la saisie
  • Les menus déroulants nécessitent un clic pour ouvrir puis un clic pour sélectionner
  • Prévoyez la gestion des erreurs de validation dans le prompt
  • L’upload de fichiers doit être géré par Playwright, pas par Computer Use