n8n-playwright-session-persistence
v0.3.0
Published
n8n-community-node-package for browser automation using Playwright with session persistence
Downloads
3
Readme
n8n-nodes-playwright
This is an n8n community node. It lets you automate browser actions using Playwright in your n8n workflows with session persistence support.
n8n is a fair-code licensed workflow automation platform.
Installation
Follow the installation guide in the n8n community nodes documentation.
pnpm install n8n-nodes-playwright
Note: The package will automatically download and set up the required browser binaries during installation. This requires approximately 1GB of disk space.
If you need to manually trigger the browser setup:
pnpm rebuild n8n-nodes-playwright
Operations
This node supports the following operations:
- Navigate: Go to a specified URL
- Take Screenshot: Capture a screenshot of a webpage
- Get Text: Extract text from an element using CSS selector
- Click Element: Click on an element using CSS selector
- Fill Form: Fill a form field using CSS selector
Browser Options
- Choose between Chromium, Firefox, or WebKit
- Configure headless mode
- Adjust operation speed with slow motion option
Screenshot Options
- Full page capture
- Custom save path
- Base64 output
Session Persistence
NEW in v0.3.0: This node now supports session persistence across multiple nodes in a workflow.
How It Works
- Session ID: Each node can specify a unique session identifier
- State Persistence: Cookies, localStorage, sessionStorage, and form data persist between nodes
- Workflow Isolation: Each workflow execution maintains its own session state
- Multi-Entry Support: Multiple form entries can have separate sessions
Usage Example
// Node 1: Navigate and login
Session ID: "my-workflow"
Operation: "navigate"
URL: "https://example.com/login"
// Node 2: Fill login form
Session ID: "my-workflow" // Same session ID
Operation: "fillForm"
Selector: "#username"
Value: "[email protected]"
// Node 3: Click login button
Session ID: "my-workflow" // Same session ID
Operation: "clickElement"
Selector: "#login-button"
// Node 4: Get dashboard content
Session ID: "my-workflow" // Same session ID
Operation: "getText"
Selector: ".dashboard-content"Session Management
- Same Session ID: Nodes share browser state (cookies, form data, etc.)
- Different Session ID: Nodes get fresh browser sessions
- Empty Session ID: Creates new session each time
- Automatic Cleanup: Sessions are cleaned up when workflow completes
Multiple Workflow Executions
Each workflow execution maintains its own session state:
- Execution 1: Session
"my-session_chromium_exec-123" - Execution 2: Session
"my-session_chromium_exec-456"
This ensures that different workflow runs don't interfere with each other.
Compatibility
- Requires n8n version 1.0.0 or later
- Tested with Playwright version 1.49.0
- Supports Windows, macOS, and Linux
System Requirements
- Node.js 18.10 or later
- Approximately 1GB disk space for browser binaries
- Additional system dependencies may be required for browser automation
Resources
Version history
0.3.0
- NEW: Session persistence across nodes
- NEW: Session ID parameter for workflow state management
- NEW: Automatic session cleanup
- IMPROVED: Better error handling and logging
- FIXED: Multi-item workflow support
0.2.*
- Initial release
- Basic browser automation operations
- Support for Chromium, Firefox, and WebKit
- Screenshot and form interaction capabilities
Troubleshooting
If browsers are not installed correctly:
- Clean the installation:
rm -rf ~/.cache/ms-playwright
# or for Windows:
rmdir /s /q %USERPROFILE%\AppData\Local\ms-playwright
- Rebuild the package:
pnpm rebuild n8n-nodes-playwright
