Description

🕸️ DOM Snapshot Node
DOM Snapshot to niestandardowy węzeł dla n8n, który umożliwia pobranie pełnego kodu HTML strony internetowej za pomocą biblioteki Playwright.
Node otwiera podany adres URL w przeglądarce Chromium w trybie headless, czeka na wskazany moment załadowania strony, a następnie zwraca zrzut DOM w formacie HTML.
✨ Funkcjonalności
- Otwiera stronę w Playwright Chromium.
- Czeka na wybrane zdarzenie załadowania strony:
- Load – pełne załadowanie strony.
- DOM Content Loaded – załadowanie drzewa DOM.
- Network Idle – brak aktywnych połączeń sieciowych.
- Zwraca zawartość strony (
<html>...</html>) w poludataw JSON. - Obsługuje parametr timeout (maksymalny czas oczekiwania).
- Może działać jako node typu
transformlub jako narzędzie (usable as tool).
⚙️ Parametry
| Nazwa | Typ | Domyślna wartość | Opis |
|---|---|---|---|
| URL | string | – | Adres strony, którą chcesz pobrać. Wymagane. |
| Wait Until | options | networkidle |
Moment, w którym uznać stronę za załadowaną (load, domcontentloaded, networkidle). |
| Timeout (ms) | number | 30000 |
Maksymalny czas (w milisekundach) oczekiwania na załadowanie strony. |
📦 Instalacja
🔹 Przez interfejs GUI n8n
- Wejdź w ustawienia Community Nodes w n8n.
- Kliknij Install i podaj nazwę repozytorium: n8n-nodes-domsnapshot
- n8n automatycznie pobierze i zainstaluje paczkę wraz z wymaganymi zależnościami.
- Po restarcie n8n node DOM Snapshot będzie dostępny w edytorze workflow.
Manualna
-
Sklonuj repozytorium lub skopiuj kod node’a do swojego katalogu community nodes w n8n.
git clone https://github.com/poewer/n8n-nodes-domsnapshot -
W katalogu node’a uruchom:
npm install -
playwright zostanie zainstalowany automatycznie,
-
a dzięki postinstall zostanie również pobrane Chromium (npx playwright install chromium).
-
Zbuduj node:
npm run build -
Uruchom n8n z włączoną obsługą community nodes i dodaj DOM Snapshot do swojego workflow.
🚀 Przykład użycia
-
Dodaj node DOM Snapshot w workflow.
-
Podaj adres URL, np. https://example.com.
-
Ustaw tryb oczekiwania, np. Network Idle.
-
Uruchom workflow.
Przykładowy output w polu json.data:
{
"data": "<!DOCTYPE html><html><head>...</head><body>...</body></html>"
}
🛠️ Obsługa błędów
-
Brak wartości w polu URL powoduje błąd.
-
Jeśli strona nie załaduje się w zadanym czasie, zwrócony zostanie błąd.
-
Jeśli w n8n włączona jest opcja Continue On Fail, błąd zostanie przypisany do danego elementu (itemIndex), a workflow będzie kontynuowany.