D’où ils viennent

Playwright a été lancé en 2020 par Microsoft, et plus précisément par Pavel Feldman et plusieurs développeurs qui venaient directement de l’équipe Puppeteer chez Google. Puppeteer, lancé en 2017, avait été le premier framework moderne pour piloter Chrome headless depuis du code — utilisé pour les tests E2E, le scraping, et la génération de PDF. Mais Puppeteer ne supportait que Chromium, son API avait des limites historiques, et le rythme d’évolution était lent.

Quand l’équipe est partie chez Microsoft en 2020, ils ont profité de la table rase pour repenser l’architecture : un seul SDK qui pilote Chromium, Firefox et WebKit (le moteur de Safari) avec la même API, un système d’auto-wait robuste qui réduit le flakiness, du codegen intégré, et un trace viewer pour debug les tests qui échouent. En 5 ans, Playwright a dépassé Puppeteer en parts de marché — c’est le framework E2E par défaut en 2026.

Ce que c’est vraiment

Playwright est un SDK open-source (Apache 2.0) qui te permet d’écrire du code qui pilote un vrai navigateur web. Disponible en :

  • TypeScript / JavaScript (le plus complet)
  • Python
  • .NET
  • Java

Les capacités principales :

  • Navigationpage.goto(url), page.click(selector), page.fill(selector, value), etc.
  • Auto-wait — chaque action attend automatiquement que l’élément soit visible, cliquable, stable. Pas de sleep(2) éparpillés dans le code.
  • Multi-navigateurs — le même code tourne sur Chromium, Firefox, WebKit
  • Headless ou headed — invisible (CI) ou visible (debug)
  • Codegennpx playwright codegen ouvre un navigateur, tu cliques, le SDK enregistre tes actions et te génère le code
  • Trace viewer — quand un test échoue, tu obtiens un enregistrement complet (DOM, network, console) pour debug post-mortem
  • Fixtures et test runners — un framework de tests E2E complet, alternative crédible à Cypress
  • Network interception — modifier ou bloquer les requêtes pendant le test
  • Captures et PDF — screenshot, PDF de pages, enregistrement vidéo

Au-delà des tests, Playwright est massivement utilisé pour le scraping (sites JS-lourds), la génération de captures pour social media, et depuis 2025 par les agents IA via le MCP officiel.

Comment ça s’intègre avec Claude Code

Pour un opérateur qui automatise du web depuis Claude Code, le flux typique :

  1. Tu installes Playwright (npm install -D @playwright/test ou pip install playwright && playwright install)
  2. Tu décris en français ce que tu veux faire« écris un script qui va sur ad.library.facebook.com, cherche les ads actives d’un concurrent, capture les 5 premières, et sauvegarde les screenshots dans /output/ads/* » — Claude Code génère le code, le lance, et te montre le résultat
  3. Pour les tests E2E« écris un test qui crée un compte sur ma landing page, confirme l’email DOI, et vérifie que le welcome arrive » — l’agent écrit la suite, la lance, et te montre la trace si ça échoue
  4. Pour les workflows agentiques — le MCP Playwright officiel permet à Claude Code de piloter un navigateur en direct (mcp__playwright__browser_navigate, browser_click, browser_snapshot, etc.) sans même écrire de code Playwright

Le truc qui change vraiment : depuis 2025, tu peux donner à Claude Code un objectif web sans script préalable. « Va sur LinkedIn, cherche les recruteurs spécialisés en construction au Québec, et exporte les noms et titres dans un CSV » — l’agent ouvre le navigateur via MCP, navigue, scrape, exporte. Computer Use et Playwright MCP convergent sur ce cas d’usage.

Pour qui c’est fait

Playwright est conçu pour les développeurs qui veulent automatiser un navigateur. Si tu veux du no-code pour scraper LinkedIn ou auto-poster sur Twitter, prends PhantomBuster ou Apify. Si tu veux écrire await page.click('button.submit') dans un fichier .ts, prends Playwright.

Public idéal :

  • QA engineers et SDETs qui maintiennent une suite de tests E2E
  • Développeurs scrapers qui ont besoin de JS-rendered support et de robustesse
  • Indie hackers qui automatisent des tâches répétitives (alertes prix, monitoring concurrents)
  • Agents IA qui interagissent avec le web (Claude Code, Cursor, Computer Use)
  • Studios qui génèrent du contenu social en bulk (captures de pages, vidéos d’écran)

Public moins adapté : les marketeurs qui veulent un outil clic-droit-clique sans code (prendre PhantomBuster ou Bardeen), les workflows ultra-simples qui pourraient passer par fetch() + Cheerio (Playwright est overkill), et les très gros volumes de scraping où Apify gère mieux la concurrence et les proxies.

Le verdict de la Taverne

Playwright tourne partout dans mon stack. Pour LeadLoup, c’est lui qui scrape l’Ad Library Meta avant chaque PDF démo client. Pour Taverne AI, c’est lui qui génère les captures annotées dans les articles. Pour les tests E2E, c’est lui qui valide les flows critiques (DOI, paiement Stripe, checkout boutique).

Ce qui me garde dessus :

  • Multi-navigateurs natif. Quand un site se comporte bizarrement sur Safari, tu lances le test sur WebKit en une ligne. Puppeteer ne fait pas ça.
  • Auto-wait élimine le flakiness. Mes tests Playwright n’ont presque jamais d’échec aléatoire — Cypress et l’ancien Puppeteer avaient besoin de sleep partout.
  • Codegen pour démarrer vite. Tu enregistres un workflow manuellement, tu obtiens le code Playwright, tu nettoies, c’est prêt.
  • Le MCP officiel pour Claude Code transforme l’agent en opérateur web direct. Plus besoin d’écrire un scraper — l’agent navigue.

Ce qui m’agace :

  • Détection anti-bot sur les sites sérieusement protégés (Cloudflare Bot Management, DataDome). Tu dois ajouter playwright-extra + stealth, des proxies résidentiels, et accepter une certaine instabilité.
  • Maintenance des selectors — quand un site change son HTML, tes scrapers cassent. C’est inhérent au scraping, mais ça reste pénible.
  • Pas de programme affiliate (open-source gratuit). Recommandation au mérite, comme tous les outils OSS de cette fiche.

Bottom line : si tu écris du code et que tu touches à l’automatisation web en 2026, Playwright est le bon défaut. Gratuit, mature, supporté par Microsoft, intégré nativement dans Claude Code via MCP.

Au Québec

La documentation est en anglais seulement (pas de localisation FR officielle). L’outil étant open-source et gratuit, aucune question de facturation, TPS/TVQ, ou conformité Loi 25 — Playwright tourne localement sur ta machine ou sur ton CI privé, sans envoyer de données à Microsoft par défaut.

Pour les scrapings ciblant des sites québécois (Centris, Kijiji, La Presse, Radio-Canada, Google Maps pour LeadLoup), tu peux exécuter Playwright depuis le Canada sans souci de géo-blocking — c’est même préférable pour obtenir le contenu localisé FR-QC plutôt que la version américaine par défaut.

Si tu utilises Microsoft Playwright Testing (le service cloud Azure pour CI à très grande échelle), la facturation se fait en USD avec présence Microsoft Canada — TPS/TVQ applicable. Mais pour la quasi-totalité des usages, tu restes sur le SDK open-source local, gratuit.