cloudflare-browser

tarafından cloudflare

Cloudflare Browser Rendering CDP WebSocket üzerinden başsız Chrome'u kontrol edin. Tarayıcı… olduğunda ekran görüntüleri, sayfa gezintisi, kazıma ve video yakalama için kullanın.

npx skills add https://github.com/cloudflare/moltworker --skill cloudflare-browser

Cloudflare Browser Rendering

Control headless browsers via Cloudflare's Browser Rendering service using CDP (Chrome DevTools Protocol) over WebSocket.

Prerequisites

  • CDP_SECRET environment variable set
  • Browser profile configured in openclaw.json with cdpUrl pointing to the worker endpoint:
    "browser": {
      "profiles": {
        "cloudflare": {
          "cdpUrl": "https://your-worker.workers.dev/cdp?secret=..."
        }
      }
    }
    

Quick Start

Screenshot

node /path/to/skills/cloudflare-browser/scripts/screenshot.js https://example.com output.png

Multi-page Video

node /path/to/skills/cloudflare-browser/scripts/video.js "https://site1.com,https://site2.com" output.mp4

CDP Connection Pattern

The worker creates a page target automatically on WebSocket connect. Listen for Target.targetCreated event to get the targetId:

const WebSocket = require('ws');
const CDP_SECRET = process.env.CDP_SECRET;
const WS_URL = `wss://your-worker.workers.dev/cdp?secret=${encodeURIComponent(CDP_SECRET)}`;

const ws = new WebSocket(WS_URL);
let targetId = null;

ws.on('message', (data) => {
  const msg = JSON.parse(data.toString());
  if (msg.method === 'Target.targetCreated' && msg.params?.targetInfo?.type === 'page') {
    targetId = msg.params.targetInfo.targetId;
  }
});

Key CDP Commands

CommandPurpose
Page.navigateNavigate to URL
Page.captureScreenshotCapture PNG/JPEG
Runtime.evaluateExecute JavaScript
Emulation.setDeviceMetricsOverrideSet viewport size

Common Patterns

Navigate and Screenshot

await send('Page.navigate', { url: 'https://example.com' });
await new Promise(r => setTimeout(r, 3000)); // Wait for render
const { data } = await send('Page.captureScreenshot', { format: 'png' });
fs.writeFileSync('out.png', Buffer.from(data, 'base64'));

Scroll Page

await send('Runtime.evaluate', { expression: 'window.scrollBy(0, 300)' });

Set Viewport

await send('Emulation.setDeviceMetricsOverride', {
  width: 1280,
  height: 720,
  deviceScaleFactor: 1,
  mobile: false
});

Creating Videos

  1. Capture frames as PNGs during navigation
  2. Use ffmpeg to stitch: ffmpeg -framerate 10 -i frame_%04d.png -c:v libx264 -pix_fmt yuv420p output.mp4

Troubleshooting

  • No target created: Race condition - wait for Target.targetCreated event with timeout
  • Commands timeout: Worker may have cold start delay; increase timeout to 30-60s
  • WebSocket hangs: Verify CDP_SECRET matches worker configuration

cloudflare tarafından daha fazla skill

dependabot-review
cloudflare
Bir Dependabot PR'sini analiz ederek her güncellenen pakette gerçekte neyin değiştiğini ve bu değişikliklerin bu repoyu etkileyip etkilemediğini belirler. Değişen API'leri/metotları raporlar,…
module-registry
cloudflare
workerd'de modül kaydı ile çalışırken yükleyin — modül çözümleme, derleme, değerlendirme veya kaydetme işlemlerini okuma, değiştirme, hata ayıklama veya inceleme…
reproduce
cloudflare
Bir cloudflare/agents GitHub sorununu, minimal bir Agents/Worker projesi oluşturup geçici bir Cloudflare hesabına dağıtarak yeniden üretin, ardından raporlayın…
local-explorer
cloudflare
Yerel gezgine veya yerel API'ye nasıl ürün/kaynak eklenir. Yeni yerel API'ler veya altındaki UI rotaları uygulanırken kullanılır.
open-pr
cloudflare
Bir cloudflare/agents GitHub sorununu ve herhangi bir yeniden üretim bulgusunu alıp tek seferde düzelten bir PR oluşturun — dal, değişiklik, test, gönderme ve soruna bağlı PR'ı açma.
write-endpoints
cloudflare
chanfana ile OpenAPI uç noktaları oluşturmak için kapsamlı rehber - şema tanımı, istek doğrulama, CRUD işlemleri, D1 veritabanı entegrasyonu ve…
agents-sdk
cloudflare
Cloudflare Workers üzerinde Agents SDK kullanarak AI ajanları oluşturun. Durum bilgisi olan ajanlar, dayanıklı iş akışları, gerçek zamanlı WebSocket uygulamaları, zamanlanmış görevler oluştururken yükleyin,…
changelog
cloudflare
Cloudflare dokümantasyon sitesi için ürün değişiklik günlüğü girdileri oluşturur, günceller ve gözden geçirir. Değişiklik günlüğü MDX dosyaları oluştururken, mevcut dosyaları düzenlerken yüklenir…