# n8n – Headless Browser Automation

> Using Browserless with n8n for web text & screenshots.

By Zsolt Bizderi · Published 2025-08-31
Canonical: https://ambientnode.uk/n8n-headless-browser-automation

n8n has many great functions, but one it lacks is direct interaction with websites. To solve this, you can run [**Browserless**](https://github.com/browserless/browserless) in a separate container alongside n8n.

### Docker Compose service

```
services:
  browserless:
    image: browserless/chrome:latest
    ports:
      - "3050:3000"
    environment:
      - ENABLE_DEBUGGER=false
      - PREBOOT_CHROME=true
      - MAX_CONCURRENT_SESSIONS=10
    restart: always
```

---

### Text extraction with Browserless

**HTTP Request node**

* **Method:** POST
* **URL:** `http://browserless:3000/function`
* **Response Format:** JSON
* **Body (JSON):**

```
{
  "code": "module.exports = async ({ page }) => {
    await page.goto('https://ambientnode.uk', { waitUntil: 'domcontentloaded' });
    const bodyText = await page.evaluate(() => document.body.innerText);
    return { data: { bodyText }, type: 'application/json' };
  }"
}
```

---

### Screenshot with Browserless

A simple screenshot call:

**HTTP Request node**

* **Method:** POST
* **URL:** `http://browserless:3000/screenshot`
* **Response Format:** File
* **Body (JSON):**

```
{
  "url": "https://ambientnode.uk",
  "options": {
    "type": "png",
    "fullPage": true
  }
}
```

This will give you back a PNG of the requested page.
