Tu veux les meilleurs outils IA avant les autres ?
On teste et on décrypte les nouveaux outils IA chaque soir, en 5 min. Gratuit.
Inclus dès l'inscription : notre sélection des meilleurs guides & comparatifs IA.
Choisis ton rythme
Gratuit · Pas de spam · Désabonnement en 1 clic
Introduction
Dans le monde des agents d'intelligence artificielle, la plupart des tutoriels commencent par l'utilisation d'une API. Ces guides vous montrent comment interagir avec des services tels qu'OpenWeather ou Stripe, ou encore comment extraire des données de GitHub. Cela fonctionne bien jusqu'à ce que vous souhaitiez créer quelque chose de plus concret et réalisiez que la tâche à accomplir n'est pas couverte par une API.
Considérez les actions quotidiennes des utilisateurs sur les navigateurs : remplir des formulaires administratifs, comparer les prix de concurrents, extraire des données de sites protégés par du JavaScript, ou se connecter à des portails sans OAuth. Avec environ 1,1 milliard de sites web en ligne, seule une infime partie offre des APIs publiques. La majorité interagit uniquement via des navigateurs.
Un agent d'IA limité aux appels d'API ne peut gérer qu'environ 5 % des tâches qu'un humain accomplit quotidiennement. En dotant cet agent d'un navigateur, sa capacité d'action se rapproche de celle d'un utilisateur humain. Cet article vise à combler cet écart.
Le marché des agents d'IA est estimé à 10,91 milliards de dollars pour 2026 et pourrait atteindre 50,31 milliards de dollars d'ici 2030, avec une part croissante d'agents capables de naviguer sur le web. Actuellement, 27,7 % des entreprises utilisent des navigateurs agents en production, un chiffre qui était quasi nul il y a deux ans. Les outils ont évolué rapidement, et les modèles sont désormais assez matures pour être enseignés efficacement.
À la fin de cet article, vous serez capable de créer un agent de navigateur fonctionnel qui peut naviguer sur des sites web réels, remplir des formulaires, extraire des données structurées et se connecter à un LLM pour décider des actions suivantes, le tout en utilisant Python.
Pourquoi choisir Playwright plutôt que Selenium
Il y a cinq ans, l'automatisation de navigateur se faisait principalement avec Selenium. Bien que Selenium soit toujours largement utilisé et fiable, pour tout nouveau projet en 2026, Playwright est devenu le choix par défaut. Les raisons de ce changement sont pratiques.
Selenium fonctionne en envoyant des requêtes HTTP individuelles à un WebDriver pour chaque action, qu'il s'agisse d'un clic, d'une saisie ou d'un défilement. En revanche, Playwright utilise une connexion WebSocket persistante pour toute la session, permettant aux commandes de circuler sans le coût de latence par action. Des benchmarks indépendants montrent que Playwright est 30 à 50 % plus rapide que Selenium, avec une moyenne de 290 ms par action contre 536 ms pour Selenium. Pour un agent de navigateur exécutant potentiellement des centaines d'actions, cet écart de performance est significatif.
De plus, Playwright intègre ses propres binaires de navigateur. Lors de l'installation, vous obtenez des versions préconfigurées de Chromium, Firefox et WebKit, garantissant leur compatibilité avec votre version de Playwright. Cela élimine les problèmes de compatibilité des versions de drivers et les interruptions dans les pipelines CI dues aux mises à jour de Chrome. Playwright inclut également une fonctionnalité d'attente automatique avant de cliquer sur un élément, vérifiant que l'élément est visible, activé et non animé, évitant ainsi le recours à time.sleep(2).
Pour les agents d'IA, Playwright simule de véritables événements de souris et de clavier, imitant les interactions humaines avec les navigateurs. Les sites conçus pour détecter l'automatisation recherchent des clics DOM synthétiques, mais le modèle d'interaction de Playwright est plus difficile à distinguer d'une saisie humaine réelle.
Configuration de l'environnement
Pour commencer, vous aurez besoin de Python 3.10 ou d'une version plus récente, d'une clé API OpenAI, et de quelques minutes pour la mise en place.
- Étape 1 : Créer un environnement virtuel
python -m venv browser_agent_env
# macOS / Linux
source browser_agent_env/bin/activate
# Windows
browser_agent_env\Scripts\activate
- Étape 2 : Installer les dépendances
pip install playwright \
browser-use \
langchain \
langchain-openai \
langgraph \
langchain-community \
python-dotenv
- Étape 3 : Installer les binaires du navigateur
Cette étape est souvent oubliée. Playwright doit télécharger Chromium, Firefox et WebKit séparément du package Python. Exécutez cette commande après l'installation :
playwright install chromium
Si vous souhaitez installer les trois moteurs de navigateur, utilisez playwright install. Cependant, Chromium seul est généralement suffisant pour la plupart des tâches d'agent et est plus léger à télécharger.
- Étape 4 : Stocker votre clé API
Créez un fichier .env dans le répertoire de votre projet :
OPENAI_API_KEY=your_openai_api_key_here
Ajoutez .env à votre fichier .gitignore immédiatement pour éviter de compromettre vos clés API.
- Étape 5 : Vérifier que tout fonctionne
Voici un script de base qui navigue vers une URL, lit le titre de la page et enregistre une capture d'écran. Utilisez example.com, un domaine de test public maintenu par l'IANA, qui ne vous bloquera pas.
Comment exécuter : Enregistrez le script sous first_run.py et exécutez python first_run.py.
import asyncio
from playwright.async_api import async_playwright
async def main():
async with async_playwright() as p:
browser = await p.chromium.launch(headless=True)
context = await browser.new_context(
viewport={"width": 1280, "height": 720},
user_agent=(
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
"AppleWebKit/537.36 (KHTML, like Gecko) "
"Chrome/120.0.0.0 Safari/537.36"
)
)
page = await context.new_page()
await page.goto("https://example.com", wait_until="networkidle")
title = await page.title()
print(f"Page title: {title}")
h1 = await page.text_content("h1")
print(f"H1 heading: {h1}")
await page.screenshot(path="screenshot.png", full_page=True)
print("Screenshot saved to screenshot.png")
await browser.close()
asyncio.run(main())
Ce script utilise async_playwright() comme point d'entrée pour toute la session Playwright. Le browser_context est l'équivalent d'ouvrir une nouvelle fenêtre de navigation privée, isolant les cookies, le stockage local et le cache des autres contextes. Le paramètre wait_until="networkidle" indique à Playwright d'attendre que la page ait terminé toute son activité réseau avant de continuer, ce qui est la stratégie d'attente la plus sûre pour les pages dynamiques.
Si le script s'exécute correctement et enregistre une capture d'écran, cela signifie que votre environnement est configuré correctement.
Navigation Web et Scraping
La nécessité d'utiliser Playwright plutôt que requests combiné à BeautifulSoup réside dans le rendu JavaScript. Les sites web modernes livrent souvent un squelette HTML minimal et construisent le contenu réel de manière dynamique après le chargement de la page, utilisant des frameworks comme React,...



