Playwright czy agenci przeglądarki? Gdzie automatyzacja oparta na skryptach wciąż ma przewagę.
Skrypty Playwright kontra agenci przeglądarkowe napędzane MCP: kruchość, determinizm i koszt, jedno zadanie fakturujące wykonywane w obu przypadkach, zagrożenia bezpieczeństwa oraz sytuacje, w których każdy rozwiązanie ma przewagę.
Źródła: Playwright vs WebMCP: Will Browser Automation Survive the Agent Era?
Internet został stworzony dla ludzi, którzy klikają w linki i czytają strony. Selenium, Puppeteer i Playwright umożliwiają teraz kodowi wykonywanie tych działań. Przez ponad dziesięć lat automatyzacja przeglądarek oznaczała pisanie skryptów, opisywanie każdego kroku i ich wielokrotne uruchamianie. Teraz zmienia to AI agenty – potrafią one rozumować, planować i działać, a także przeglądać strony w taki sam sposób jak człowiek: patrzą na nie, rozumieją ich treść i decydują, co robić dalej. To rodzi istotne pytanie: czy Model Context Protocol (MCP) sprawia, że automatyzacja oparta na skryptach staje się przestarzała, czy Playwright nadal ma swoje miejsce?
Dlaczego programiści lubią Playwright
Playwright, stworzony przez Microsoft, to nowoczesna platforma do automatyzacji przeglądarek. Kod napisany z jej użyciem sprawia, że Chromium, Firefox lub WebKit klikają w przyciski, wypełniają formularze, pobierają dane i uruchamiają testy end-to-end. Oto krótki przykład:
const { chromium } = require('playwright');
const browser = await chromium.launch();
const page = await browser.newPage();
await page.goto('https://example.com/login');
await page.fill('#email', 'user@example.com');
await page.fill('#password', 'secret');
await page.click('button[type="submit"]');
await page.waitForURL('**/dashboard');
console.log('Logged in!');
await browser.close();
Wynik jest czysty, deterministyczny i przewidywalny. Typowe powody jego popularności:
- Wsparcie dla różnych przeglądarek jest wbudowane.
- Izolacja testów oraz ich równoległe wykonywanie są bardzo solidne.
- Funkcja automatycznego oczekiwania eliminuje stare triki typu
sleep(2000). - Zawiera funkcje śledzenia, robienia zrzutów ekranu oraz nagrywania wideo.
- Łatwo integruje się z pipeline’ami CI/CD.
Dla automatyzacji testów jakości, testów regresji oraz skryptowanych procesów w sieci jest standardem branżowym.
Gdzie skrypty sprawiają problemy
Słabością jest kruchość. Zmień nazwę klasy CSS przycisku, a skrypt przestaje działać. Przenieś pole formularza, a on również przestaje funkcjonować. Wprowadź wersję A/B z nowym układem, a problem powróci. Każdy skrypt to sztywno zdefiniowana mapa założeń dotyczących wyglądu strony w określonym momencie, a interfejsy użytkownika nie przestają się zmieniać. Utrzymanie działającej dużej bazy narzędzi Playwright w firmie, w której wszystko szybko się zmienia, może stać się drugą pracą na pełen etat.
Pomaga tu analogia. Skrypt to laminowana karta z instrukcjami poruszania się po mieście. Działa, dopóki droga nie zostanie zamknięta, budynek przeniesiony lub nie pojawi się ulica jednokierunkowa. Lepszy przewodnik rozejrzałby się, przeczytał znaki drogowe i samodzielnie znalazł rozwiązanie.
Co dodaje MCP
MCP, przedstawiony przez Anthropic pod koniec 2024 roku, to otwarty standard umożliwiający strukturalne łączenie modeli AI, takich jak Claude, z zewnętrznymi narzędziami, źródłami danych i środowiskami. Działa jak uniwersalny system wtyczek dla agentów. Zamiast funkcjonować wewnątrz okna czatu, model może uzyskiwać dostęp do baz danych, API, systemów plików oraz przeglądarek internetowych.
Istnieje już serwer Playwright MCP, który udostępnia operacje przeglądarki jako funkcje, które agent może wywoływać. W takim przypadku programista musiałby napisać coś w tym stylu:
await page.click('#submit-button');
Zamiast tego agent otrzymuje cel:
"Submit the contact form on acme.com with the user's name and email"
Stamtąd nawiguje, lokalizuje elementy i wchodzi w interakcję z stroną za pomocą widzenia, analizy HTML oraz rozumowania, bez żadnych sztywno zdefiniowanych selektorów.
Porównanie bezpośrednie
Playwright – tradycyjne podejście
- Kontrola: programista pisze każdy krok.
- Selektory: CSS, XPath lub tekst.
- Odporność na zmiany interfejsu: przestaje działać, gdy interfejs się zmienia.
- Ustawianie: umiarkowane, ponieważ wymagany jest kod.
- Determinizm: całkowicie deterministyczny.
- Łatwość debugowania: prosta, dzięki logom śledzącym i zrzutom ekranu.
- Szybkość: szybki.
- Koszt: tylko koszty obliczeniowe.
- Najlepszy do: testów regresyjnych oraz pipeline’ów CI/CD.
- Niezawodność: wysoka przy regularnej konserwacji.
WebMCP lub Playwright MCP – podejście oparte na agencie
- Kontrola: agent AI rozumuje i podejmuje decyzje.
- Selektory: język naturalny w połączeniu z rozumieniem wizualnym.
- Odporność na zmiany interfejsu: dostosowuje się poprzez ponowne przetwarzanie danych z obecnego DOM-u.
- Układ: niski, ponieważ wystarczy opisać cel.
- Determinizm: niedeterministyczny, ze względu na udział rozumowania LLM.
- Debugowanie: trudniejsze, ponieważ pytanie brzmi, dlaczego agent wybrał tę akcję.
- Szybkość: wolniejsza z powodu dodatkowych obciążeń związanych z inferencją LLM.
- Koszt: obliczenia plus opłaty za tokeny API LLM.
- Najlepsze do: zadań dynamicznych, złożonych procesów pracy oraz agentów.
- Niezawodność: poprawia się, ale wciąż nie osiąga poziomu używanego w produkcji.
Jedno zadanie, dwa metody
Zadanie: zalogowanie się na panel SaaS, znalezienie najnowszego rachunku i jego pobranie w formacie PDF.
Z użyciem Playwright skrypt przechodzi na stronę logowania, wypełnia pole e-mail i hasło za pomocą selektorów data-testid, kliknie przycisk logowania i kontynuuje krok po kroku.
await page.goto('https://app.saas.com/login');
await page.fill('[data-testid="email"]', credentials.email);
await page.fill('[data-testid="password"]', credentials.password);
await page.click('[data-testid="login-btn"]');
await page.waitForSelector('.dashboard');
await page.click('nav >> text=Billing');
await page.click('.invoice-list tr:first-child .download-btn');
await page.waitForEvent('download');
Rozważmy, co się stanie, jeśli atrybut data-testid zostanie przemianowany podczas refaktoryzacji, jeśli nawigacja płatności przeniesie się do paska bocznego lub jeśli tabela faktur będzie paginowana inaczej.
Z agentem instrukcja jest sformułowana prostym językiem jako konkretny cel:
Goal: "Go to app.saas.com, log in with my credentials,
navigate to billing, find the most recent invoice,
and download it as a PDF."
Agent ładuje stronę, analizuje DOM oraz układ wizualny, identyfikuje formularz logowania na podstawie jego funkcji, wpisuje dane logowania i wysyła zapytanie, szuka elementów nawigacyjnych o nazwach typu „Billing”, „Invoices” lub podobnych, znajduje najnowszy rachunek według daty i kliknie „Pobierz”. Jeśli interfejs się zmieni, agent ponownie odczytuje stronę i dostosowuje się. Nie ma potrzeby aktualizowania żadnych skryptów.
Od skryptowania do udzielania instrukcji
Tradycyjna automatyzacja pyta, jakie dokładnie kroki powinien wykonać komputer. Automatyzacja w erze agentów pyta, jaki jest pożądany wynik oraz czy sztuczna inteligencja potrafi znaleźć odpowiednie kroki. Innymi słowy: skryptowanie programuje trasę, natomiast udzielanie instrukcji programuje cel.
W przypadku prostych, stabilnych zadań o dużym obciążeniu, takich jak 10 000 testów regresji w środowisku CI, determinizm Playwrighta zawsze przeważa. Natomiast w złożonych, zmieniających się, jednorazowych procesach, które normalnie wykonałby człowiek, agenci przeglądarkowe sterowane za pomocą MCP wyprzedzają inne rozwiązania.
Narzędzia dostępne w tym obszarze
Ekosystem rozwija się szybko:
- Playwright MCP – oficjalny serwer MCP umożliwiający agentom AI korzystanie z funkcji przeglądarki Playwright.
- Stagehand od Browserbase – automatyzacja oparta na AI, łącząca Playwright z technologiami widzenia LLM.
- Browser Use – framework open-source przeznaczony dla agentów do przeglądania stron internetowych.
- Claude Computer Use – system firmy Anthropic, który potrafi obserwować i kontrolować cały pulpit lub przeglądarkę.
- OpenAI Operator – agent GPT-4o, który przegląda strony internetowe w celu wykonywania zadań.
- Skyvern – automatyzacja oparta na technologiach widzenia i LLM, nie wymagająca selektorów.
To nie są zabawki. Firmy wykorzystują je do procesów zakupowych, wydobywania danych, wysyłania formularzy oraz monitorowania konkurencji – zadań, które w przeciwnym razie wymagałyby miesięcy pracy nad skryptami.
Czy Playwright zniknie?
Nie, chociaż jego rola się zmienia. Pozostaje niezbędny, ale nie jest już jedynym narzędziem w tym zestawie. Przypomina SQL: stanowi podstawę, jest precyzyjny i niezastąpiony przy pracy z danymi strukturyzowanymi, ale nie jest już jedyną drogą do uzyskania odpowiedzi. W przyszłości obie metody będą wykorzystywane do zadań, do których każda z nich się nadaje.
Wybór między nimi
Decyzja podejmuje się według schematu przepływu. Najpierw należy sprawdzić, czy zadanie jest dobrze zdefiniowane i ma stabilne interfejs użytkownika. Jeśli tak, a jest wykonywane wielokrotnie na dużą skalę, np. w procesach CI lub testach regresji, rozwiązaniem są skrypty. Jeśli interfejs użytkownika się zmienia lub zadanie jest jednorazowe, lepszym wyborem będzie agent.
Is the task well-defined with a stable UI?
│
├── YES → Does it run repeatedly at scale (CI/CD, regression)?
│ │
│ ├── YES → Use Playwright
│ └── NO → Either works; Playwright is cheaper
│
└── NO → Is the UI dynamic, unknown, or frequently changing?
│
├── YES → Use MCP Agent / AI Browser
└── NO → Does it require multi-step reasoning?
│
├── YES → Use MCP Agent
└── NO → Use Playwright
Następne dwa lata
Agenty nie usuną automatyzacji opartej na skryptach od razu, ale widać już kilka trendów.
- Hybrydowe procesy stają się normą. Playwright zajmuje się stabilnymi, powtarzalnymi 80% zadań, natomiast agent MCP obsługuje nieprzewidywalne 20% przypadków, które psują skrypty przy każdym cyklu rozwoju.
- Playwright otrzymuje funkcje AI. Można się spodziewać funkcji naprawy selektorów, w której niepracujący selektor prosi model językowy o znalezienie odpowiedniego elementu na zaktualizowanej stronie. Healenium i Reflect już robią coś podobnego, więc naturalne wsparcie tego typu w Playwright wydaje się prawdopodobne.
- Niezawodność agentów się poprawia. Obecne agenty czasami błędnie interpretują stronę, klikają niewłaściwy element lub są zakłócane przez okna dialogowe. Lepsze modele multimodalne, takie jak GPT-4o, Claude 3.5 Sonnet i Gemini 2.0, powinny znacznie zmniejszyć te problemy.
- QA zmienia swój kształt. Zamiast pisać skrypty Playwright, testerzy będą formułować swoje intencje w języku naturalnym, pozwalając agentom je interpretować i wykonywać, przechodząc od pisania skryptów do określania wyników.
- Bezpieczeństwo staje się kwestią bieżącą. Agent z autonomiczną kontrolą przeglądarki może kliknąć coś niezamierzonego, wysłać formularz z błędnymi danymi lub zostać zmanipulowany przez złośliwą stronę. Wstrzykiwanie poleceń poprzez treść internetową, przy którym strona oszukuje agenta, by ten wykonał niezamierzone działania, jest już udokumentowanym zagrożeniem. W tym właśnie leży największa zaleta Playwright – robi dokładnie to, co podaje skrypt, i nic więcej.
Szerszy kontekst
Przez dekadę automatyzacja przeglądarek stanowiła problem tłumaczeniowy: konieczność przekształcenia ludzkiego zamiaru w kod, który naśladuje ludzkie działania. Playwright rozwiązał to w doskonały sposób. Agenty usuwają teraz ten etap tłumaczenia, ponieważ zamiar wyrażony prostym językiem jest wystarczający, a agent zajmuje się resztą. To nie czyni Playwright przestarzałym – sprawia, że staje się specjalistyczny, podobnie jak chirurg nadal używa skalpela w erze chirurgii robotycznej. Skalpel zapewnia precyzję, kontrolę i niezawodność, natomiast robot umożliwia radzenie sobie z złożonością, adaptacyjność i skalowalność. Praktyczne pytanie nie brzmi już „Playwright kontra MCP”, lecz „kiedy potrzebny jest skalpel, a kiedy robot?”.
Literatura pokrewna
- Wyjaśnienie WebMCP: Dostarczanie narzędzi agentom AI w przeglądarce zamiast domysłów — WebMCP umożliwia stronie internetowej określenie narzędzi dla agentów AI. Jak je zarejestrować, ocenić ryzyko, przetestować w Chrome oraz zarządzać bezpieczeństwem, a także jaki jest stan wsparcia przeglądarek w 2026 roku.
- Hyperbrowser MCP w produkcji: drabiny eskalacji, mechanizmy transportu i zasady bezpieczeństwa — Co oferuje Hyperbrowser MCP agentom przeglądarki, w czym jego standardowe rozwiązania HTTP i SSE zawodzą, oraz jakie brakuje jeszcze bramy polityk, procedur zatwierdzania i kontroli profili.