Skip to content
Back to skills

Playwright

ASecurity

Microsoft Playwright MCP ile browser otomasyonu. Sayfa açma, tıklama, form doldurma, ekran görüntüsü alma, accessibility snapshot ve JavaScript çalıştırma.

  • 4 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 2, 2026
ai-agentsjavascriptgojavabashnodegitapi

Works with

  • claude code
  • cli
  • api
  • mcp

Security analysis

A100/100

Scanned September 2, 2026

npx -y skills add natureco-official/natureco-cli --skill playwright --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Playwright?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Playwright
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/natureco-official-playwright/badge)](https://www.skillsdirectory.com/skills/natureco-official-playwright)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: playwright
description: Microsoft Playwright MCP ile browser otomasyonu. Sayfa açma, tıklama, form doldurma, ekran görüntüsü alma, accessibility snapshot ve JavaScript çalıştırma.
metadata: {"natureco": {"requires": {"bins": ["npx", "node"]}, "os": ["darwin","linux","win32"]}}
---

# Playwright Skill (Browser Otomasyonu)

Microsoft'un `@playwright/mcp` server'ı ile gerçek browser'da (Chromium/Firefox/WebKit) işlem yap.

## Ne Zaman Kullan

- Web sayfası açıp DOM'u incelemek (sadece HTML değil, gerçek JS çalıştırma)
- Buton tıklamak, form doldurmak, hover/drag/scroll
- Ekran görüntüsü almak
- Accessibility snapshot için (model pixel yerine yapı görsün)
- Sayfada JavaScript çalıştırmak (veri çekmek veya davranış test etmek)
- Multi-step akış (login, search, checkout) test etmek
- UI end-to-end doğrulaması

**Kullanma:** basit HTML scraping için `curl` + `web_extract` yeterli.

## Kurulum

```bash
# Claude Code'a MCP server olarak ekle
claude mcp add playwright npx @playwright/mcp@latest

# Proje-scoped
claude mcp add playwright -s project npx @playwright/mcp@latest
```

İlk çalıştırmada npx `@playwright/mcp` ve Playwright browser bundle (~150 MB) indirilir.

## Tool'lar (En Sık Kullanılanlar)

### Navigasyon
- `browser_navigate(url)` — URL aç
- `browser_navigate_back()` / `browser_navigate_forward()`
- `browser_close()`

### Gözlem
- `browser_snapshot()` — **en kullanışlı tool**. Accessibility tree + element ref'leri (`[ref=42]`)
- `browser_take_screenshot(filename?, fullPage?, type?)` — PNG/JPEG screenshot
- `browser_console_messages(onlyErrors?)` — console.log çıktısı
- `browser_evaluate(function)` — sayfada JS çalıştır

### Etkileşim
- `browser_click(element, ref)`
- `browser_type(element, ref, text, slowly?)`
- `browser_hover(element, ref)`
- `browser_drag(fromElement, fromRef, toElement, toRef)`
- `browser_select_option(element, ref, values)`
- `browser_press_key(key)` — Enter, Escape, Tab, ArrowDown
- `browser_scroll(direction, amount?)` — up/down/left/right

### Bekleme
- `browser_wait_for(time?, text?, textGone?)`

### Tablar
- `browser_tabs(action, index?)` — list/new/select/close

## Önerilen Workflow

1. `browser_navigate(url)` → `browser_snapshot()` (tersi değil!)
2. Major DOM değişiklikten sonra **mutlaka** yeni snapshot
3. **Snapshot tercih et**, screenshot sadece visual review için
4. Veri çekmek için `browser_evaluate` daha hızlı
5. İş bitince `browser_close()`

## Login Pattern

```
1. browser_navigate("https://example.com/login")
2. browser_snapshot()
3. browser_type("Email", "[ref=12]", "user@example.com")
4. browser_type("Password", "[ref=14]", "...")
5. browser_click("Sign in", "[ref=18]")
6. browser_snapshot()  # giriş doğrula
```

## Konfigürasyon

```bash
claude mcp add playwright npx @playwright/mcp@latest -e HEADLESS=false  # görünür browser
claude mcp add playwright npx @playwright/mcp@latest -e BROWSER=firefox
claude mcp add playwright npx @playwright/mcp@latest -e ISOLATED=true    # temiz profil
```

Env değişkenleri:
- `HEADLESS` — true (default) veya false
- `BROWSER` — chromium, firefox, webkit, msedge
- `ISOLATED` — true = ephemeral profile
- `VIEWPORT_SIZE` — default 1280x720
- `USER_DATA_DIR` — persistent profil yolu
- `CAPTURE_MODE` — screenshot/snapshot/none

## Sınırlamalar

- Dosya download dialog'ları native değil → JS ile tetikle
- Bazı siteler automation'ı algılar → stealth plugin veya USER_DATA_DIR kullan
- ~300 MB per browser context
- Cold start 5-10sn
- WebSocket/SSE sayfalar flaky olabilir → generous timeout

## Debug

- `browser_console_messages()` — genelde click'in neden başarısız olduğunu gösterir
- Click işe yaramadıysa → fresh snapshot al (ref değişmiş olabilir)
- CAPTCHA/login gibi durumlar için `ISOLATED=false` ve gerçek USER_DATA_DIR

## Reference

- Server: https://github.com/microsoft/playwright-mcp
- Playwright: https://playwright.dev/docs/intro
- MCP Spec: https://modelcontextprotocol.io

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.