Playwright CLI nedir? Ajana tarayıcıyı kullandırmak, kurulum, MCP farkı ve güvenlik
Playwright CLI'yi iki komutla kurarsın (`npm install -g @playwright/cli@latest`, `playwright-cli install --skills`); kodlama ajanın tarayıcıyı komut satırından yönetir: sayfaları açar, tıklar, form doldurur, ekran görüntüsü ve PDF alır. Microsoft'un Apache-2.0 lisanslı açık kaynak aracı; README ilk satırında "Playwright CLI with SKILLS" diyor. Node.js 18+ gerekir, hesap ya da ücret yok. README, CLI'yi Playwright MCP'ye göre token açısından verimli diye anlatıyor ama ölçüm vermiyor. Profil varsayılan olarak yalnız bellekte; `attach` komutuyla çalışan Chrome'a bağlanılırsa oradaki açık oturumlar ajana açılır.
- Ne yapar
- Kodlama ajanına tarayıcıyı komut satırından kullandırır
- Tür
- Komut satırı aracı + skill (npm paketi)
- Nerede
- Claude Code, GitHub Copilot ve diğer kodlama ajanları
- Gereksinim
- Node.js 18+
- Risk
- Sayfada kod çalıştırır; açık Chrome'a bağlanabilir
- Türkçe
- Resmî kaynak yazmıyor
- Ücret
- Ücretsiz (Apache-2.0); hesap ve anahtar yok
Playwright CLI ne işe yarar?
Kodlama ajanın bir web uygulamasını denerken tarayıcıyı komutlarla yönetir: open ile sayfa açar, snapshot ile sayfa durumunun kısa bir özetini alır, click, fill, type gibi komutlarla etkileşir, screenshot ve pdf ile çıktı alır. Her komutun sonunda sayfa durumunun özeti dosyaya yazılır; ajan uzun bir sayfa ağacını modele yüklemek yerine bu özete bakar.
Diğer işler: elle yaptığın akışı kaydedip Playwright test koduna çevirtmek, bir öğenin locator'ını üretmek, ağ isteklerini taklit etmek (mock), çerez ve depolamayı yönetmek, trace ve video kaydetmek, çalışan tarayıcıya bağlanmak. Tam komut listesi için playwright-cli --help.
Kime yarar: web uygulaması geliştiren ve ajanın kendi yaptığı arayüzü denemesini isteyenlere. README, kalıcı durum ve zengin inceleme isteyen otonom döngüler için Playwright MCP'yi öneriyor; CLI'yi ise kodlama ajanları için öneriyor.
Playwright CLI nasıl kurulur?
Gereken: Node.js 18 ya da üstü ve Claude Code, GitHub Copilot gibi bir kodlama ajanı. Komutlar README'den aynen alındı.
› npm install -g @playwright/cli@latest› playwright-cli --help› playwright-cli install --skillsSkill kurmak istemezsen ajana şunu söylemen de yetiyor: "Check playwright-cli --help for available commands." Ajan komutları yardım çıktısından öğrenir. Denemek için README şu komutu veriyor:
› playwright-cli open https://demo.playwright.dev/todomvc/ --headedSkill kurulumunun hangi ajan klasörlerine yazdığı README'de listelenmiyor; kurulumdan sonra ajanın skills klasörüne bak. Atlas kartındaki "VS Code" README'de geçmiyor; VS Code, Cursor, Codex ve Kiro adları yalnız bir çekme isteğinde (PR #465) anılıyor; yayındaki sürümde olup olmadığını README'den kontrol et.
Yerel Playwright kuruluysa ve global komut yoksa README tüm komutlarda npx playwright cli kullanmanı söylüyor.
Playwright CLI nasıl kullanılır?
Asıl kullanıcı ajan: sen ona ne denemesini söylersin, ajan komutları çalıştırır.
› playwright-cli close-allPencereyi görmek için open ... --headed; tüm oturumları görsel panelde izleyip müdahale etmek için playwright-cli show. Headless oturum bir saat komutsuz kalırsa kendiliğinden kapanır (--idle-timeout=<ms> ile değişir, 0 kapatmaz).
Playwright CLI hangi ajanlarda çalışır?
| Claude CodeVar | README gereksinimlerde adıyla anıyor ve yerel skill'leri kullanacağını söylüyor. |
|---|---|
| GitHub CopilotVar | Aynı cümlede adı geçiyor; hangi yüzey (VS Code, CLI) yazmıyor. |
| Diğer kodlama ajanlarıKısmen | Skill'siz kullanım: ajanı CLI'ye yönlendirmen ve --help çıktısını okutman yeter. |
| VS Code, Cursor, Codex, KiroNet değil | README'de geçmiyor; yalnız bir çekme isteği açıklamasında anılıyor. |
Playwright CLI neye erişir, hangi riskler var?
Açılan sayfaların erişilebilirlik özeti, konsol mesajları, ağ istekleri, çerezler, localStorage ve sessionStorage.
Sayfada tıklar, yazar, form doldurur, dosya yükler; eval ve run-code ile sayfada kod çalıştırır; çerez ve depolama yazar; ağ isteklerini değiştirir; özet, ekran görüntüsü, PDF, iz ve videoyu diske (.playwright-cli klasörü) kaydeder.
Çerez, localStorage ve sessionStorage temizleme komutları ile tarayıcı verisini silen delete-data var. Kullanıcı dosyalarını silen komut README'de yok.
Profil varsayılan olarak yalnız bellekte: çerez ve depolama oturum içinde kalır, tarayıcı kapanınca gider. --persistent profili diske yazar.
!attach --cdp=... ya da attach --extension=chrome ile çalışan Chrome ya da Edge'e bağlanırsan o tarayıcıdaki açık oturumlar ajana açılır; bu varsayılan değil, bilinçli bir komut. README ayrıca izinli ve engelli adres listelerinin bir güvenlik sınırı olmadığını, yönlendirmeleri etkilemediğini açıkça yazıyor. state-save ve cookie komutları giriş bilgilerini diske yazabilir. Sayfanın kaydettiği deneysel WebMCP araçlarının adı ve sonuçları güvenilmeyen girdi sayılıyor.
Telemetri: README veri toplamadan söz etmiyor. Ancak kaynak kodu, CI ya da NO_UPDATE_NOTIFIER ortam değişkeni tanımlı değilse günde bir kez npm kaydına (registry.npmjs.org) sürüm sorgusu atıyor; kaynak koda göre. Bu davranış açık bir issue'nun konusu (#478). Sayfa içeriği ajana gittiği için ajanın sağlayıcısına da gider. GitHub Security Advisories ve OSV taramasında kayıt yok; bu "güvenli" demek değildir.
Playwright CLI ücretsiz mi?
Evet. Apache-2.0 lisanslı açık kaynak; hesap, API anahtarı ya da ücret istemiyor. Kullandığın kodlama ajanının kendi aboneliği ya da API maliyeti ayrıdır. README sürümün 0.1.x serisinde olduğunu gösteriyor ve kararlılık taahhüdü vermiyor; yaklaşık iki haftada bir yeni sürüm çıkıyor.
- Apache-2.0: kullanmak, değiştirmek, ticari işte kullanmak serbest
- README'de kurumsal ya da yönetici izni kavramı yok
Kaynak: README, package.json ve npm kaydı. Bu bir hukuki görüş değildir.
Sık sorunlar ve çözümleri
| Ne oluyor | Ne yapmalı |
|---|---|
| Headless tarayıcı bir saat sonra kapanıyor | Tasarım gereği. open ile yeniden başlat ya da open --idle-timeout=<ms> kullan (0 kapatmaz). |
| Çerezler ve giriş bilgileri ikinci açılışta yok | Profil varsayılan olarak bellekte; open --persistent ya da state-save ve state-load kullan. |
| Uzun oturum adı macOS'ta "listen EINVAL" veriyor | Issue #474 ile kapatıldı; sürümü güncelle. |
| Kurumsal ağda araç registry.npmjs.org'a istek atıyor | Sürüm kontrolü. NO_UPDATE_NOTIFIER ya da CI tanımlıysa yapılmaz. Kullanıcıların bildirdiği Issue #478 açık. |
| Arka planda unutulmuş headless Chrome'lar birikiyor | playwright-cli close-all, takılırsa kill-all. Bir saatlik boşta kapanma bu sorunu azaltıyor (issue #460). |
Playwright CLI nasıl kaldırılır?
- Açık oturumları kapat:
playwright-cli close-all(takılırsakill-all). - Profil verisini sil:
playwright-cli delete-data(adlandırılmış oturum için-s=ad delete-data). - Aracı kaldır:
npm uninstall -g @playwright/cli(npm'in genel komutu; README anlatmıyor).
Kurulan skill dosyaları ajanın skills klasöründe kalır; README bir kaldırma komutu anlatmıyor, elle silersin.
Sık sorulan sorular
Playwright CLI ile Playwright MCP arasındaki fark nedir?
README'nin kendi karşılaştırması: kodlama ajanları için CLI öneriliyor çünkü komutlar kısa ve büyük araç şemalarını modele yüklemiyor. MCP ise kalıcı durum, zengin inceleme ve uzun otonom döngüler için yararlı bulunuyor. README token tasarrufu için ölçüm vermiyor.
Ücretsiz mi?
Evet. Apache-2.0 lisanslı açık kaynak; hesap ya da anahtar istemiyor. Ajanın kendi aboneliği ya da API maliyeti ayrı.
Ajan benim açık Chrome'umdaki hesaplarıma girebilir mi?
attach komutuyla çalışan Chrome ya da Edge'e bağlanılırsa evet, o tarayıcıdaki açık oturumlar ajana açılır. Bu varsayılan değil, bilinçli bir komut. detach bağlantıyı keser, tarayıcı açık kalır.
İzinli adres (allowed origins) ayarı beni korur mu?
README açıkça uyarıyor: izinli ve engelli adres listeleri bir güvenlik sınırı değildir ve yönlendirmeleri etkilemez.
Tarayıcı penceresini görebilir miyim?
Varsayılan görünmez (headless). open ... --headed ile pencere açılır; show komutu tüm oturumları görsel panelde gösterir.
Sürüm kararlı mı?
Sürüm numarası 0.1.x; son sürüm 0.1.22 (28.09.2026) ve yaklaşık iki haftada bir yeni sürüm çıkıyor. README kararlılık taahhüdü vermiyor.
İlgili rehberler
Kaynaklar
Resmî kaynaklarda net olmayanlar: install --skills komutunun hangi ajan klasörlerine yazdığı · tarayıcının nasıl indirildiği · "token verimli" iddiasına dair ölçüm · VS Code, Cursor, Codex ve Kiro desteği · skill kaldırma adımı · Türkçe bilgisi. Her biri ilgili bölümde yazılı.




