# Openclaw Browser

> OpenClaw Browser

- Skill: `johnalbertini14-glitch/openclaw-browser` (Agent Skill, multi-file: 6 files)
- Install (CLI): `npx skillmds@latest add johnalbertini14-glitch/openclaw-browser`
- Raw SKILL.md: https://api.skillmd.com/api/skills/johnalbertini14-glitch/openclaw-browser/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: johnalbertini14-glitch (https://skillmd.com/u/johnalbertini14-glitch)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/johnalbertini14-glitch/openclaw-browser

---


# OpenClaw Browser

Browser automation for OpenClaw via Chrome DevTools Protocol.

## Prerequisites

Chrome must be installed and running with remote debugging enabled:

```bash
# Start Chrome with CDP (port 9222)
chrome --remote-debugging-port=9222 --remote-debugging-address=0.0.0.0
```

## Quick Start

### Screenshot a Website

```bash
# Using the provided script
node ~/.openclaw/workspace/skills/openclaw-browser/scripts/screenshot.js https://example.com /tmp/output.png

# With custom viewport
node ~/.openclaw/workspace/skills/openclaw-browser/scripts/screenshot.js https://example.com /tmp/output.png --width=1920 --height=1080
```

### Full Page Screenshot

The script automatically captures full page content, not just viewport.

## How It Works

1. Connects to running Chrome via CDP (http://127.0.0.1:9222)
2. Creates new tab or uses existing one
3. Navigates to target URL
4. Waits for page load
5. Takes screenshot
6. Saves to specified path

## Common Issues

**Chrome not running:**
- Start Chrome with CDP flags first
- Verify with: `curl http://127.0.0.1:9222/json/version`

**Headless detection:**
- Some sites (Xiaohongshu, Taobao) detect headless browsers
- Solution: Use non-headless Chrome (visible window)
- This skill connects to existing Chrome, avoiding detection

**Permission errors:**
- Use `--no-sandbox` when starting Chrome if needed

## Script Reference

See [scripts/screenshot.js](scripts/screenshot.js) for the main automation script.

## Advanced Usage

For custom automation beyond screenshots, modify the script or use Puppeteer directly:

```javascript
const puppeteer = require('puppeteer');
const browser = await puppeteer.connect({ browserURL: 'http://127.0.0.1:9222' });
// ... custom actions
```

