Puppeteer i Playwright MCP
Spędziłeś godzinę wdrażając nowy przepływ zakupowy. Kod wygląda dobrze, typy są sprawdzone, testy jednostkowe przechodzą. Ale kiedy otwierasz przeglądarkę, przycisk “Wyślij” jest ukryty za sticky footerem. Twoje AI mogłoby wyłapać to w sekundach — gdyby mogło zobaczyć przeglądarkę.
Co z tego wyniesiesz
Dział zatytułowany „Co z tego wyniesiesz”- Konfigurację Playwright MCP i Puppeteer MCP dla wszystkich trzech narzędzi
- Zrozumienie trybu drzewa dostępności vs trybu zrzutu ekranu
- Prompty kopiuj-wklej dla testów E2E, regresji wizualnej i web scrapingu
- Strategie uruchamiania browser MCP w CI/CD
Playwright MCP: zalecany wybór
Dział zatytułowany „Playwright MCP: zalecany wybór”Oficjalny Playwright MCP Microsoftu domyślnie używa strukturalnych drzew dostępności. AI rozumie elementy strony semantycznie — przyciski po ich etykiecie, pola input po ich nazwie — zamiast przez kosztowne wywołania wizyjne.
{ "mcpServers": { "playwright": { "command": "npx", "args": ["-y", "@playwright/mcp@latest"] } }}{ "mcpServers": { "playwright": { "command": "npx", "args": ["-y", "@playwright/mcp@latest"] } }}[mcp.playwright]transport = "stdio"command = "npx"args = ["-y", "@playwright/mcp@latest"]Kluczowe narzędzia: browser_navigate, browser_click, browser_fill, browser_screenshot, browser_get_text, browser_select i browser_evaluate.
Puppeteer MCP: alternatywa
Dział zatytułowany „Puppeteer MCP: alternatywa”Serwer MCP Puppeteer to lżejsza opcja do automatyzacji tylko Chrome i szybkich zadań scrapingowych.
{ "mcpServers": { "puppeteer": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-puppeteer"] } }}{ "mcpServers": { "puppeteer": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-puppeteer"] } }}[mcp.puppeteer]transport = "stdio"command = "npx"args = ["-y", "@modelcontextprotocol/server-puppeteer"]Wybierz Playwright dla wsparcia cross-browser i interakcji z drzewem dostępności. Wybierz Puppeteer dla funkcji specyficznych dla Chrome lub prostszych zadań scrapingowych.
Drzewo dostępności vs zrzuty ekranu
Dział zatytułowany „Drzewo dostępności vs zrzuty ekranu”Tryb drzewa dostępności (domyślny) — szybki, efektywny tokenowo, niezawodny. Przyciski identyfikowane po etykiecie, pola input po nazwie. Używaj do wszystkich standardowych interakcji.
Tryb wizyjny — robi zrzuty ekranu do wizualnego zrozumienia. Niezbędny dla aplikacji canvas, złożonych wizualizacji lub gdy drzewo dostępności błędnie reprezentuje UI.
Gdy to się psuje
Dział zatytułowany „Gdy to się psuje”Przeglądarka nie uruchamia się. Uruchom npx playwright install chromium aby pobrać plik binarny przeglądarki. Na serwerach CI zainstaluj zależności systemowe z npx playwright install-deps.
AI klika zły element. Wiele elementów ma tę samą dostępną nazwę. Dodaj atrybuty aria-label lub poinstruuj AI, aby użyło indeksu elementu w drzewie dostępności.
Zrzuty ekranu są puste. Sesja przeglądarki zaczyna się świeża bez uwierzytelnienia. Najpierw przejdź do strony logowania lub skonfiguruj przechowywane cookies.
Przekroczenia czasu na wolnych stronach. Domyślny timeout nawigacji to 30 sekund. Dla stron SSR zwiększ go: “Przejdź do strony i poczekaj do 60 sekund na pełne załadowanie.”