n8n-nodes-playwright-session
v0.5.0
Published
n8n-community-node-package for browser automation using Playwright with session persistence
Downloads
14
Readme
n8n-nodes-playwright-session
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.
npm install n8n-nodes-playwright-session
# or
pnpm install n8n-nodes-playwright-sessionNote: 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-session
Operations
Navigate
Navigate to a URL.
Take Screenshot
Take a screenshot of the current page.
Get Text
Extract text from an element using a CSS selector.
Click Element
Click on an element using a CSS selector.
Fill Form
Fill a form field with a value.
Execute Script
Execute custom Playwright scripts with full access to the page object.
Example Script:
// Login to a website
await page.goto('https://example.com/login');
await page.fill('#username', '[email protected]');
await page.fill('#password', 'password');
await page.click('#login-button');
// Wait for navigation and return result
await page.waitForNavigation();
return {
success: true,
message: 'Login completed',
currentUrl: page.url()
};Available Variables:
page: Playwright page object with all methods (fill, click, goto, etc.)itemIndex: Current item index in the workflow
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.4.1
- NEW: Execute Script operation for custom Playwright code
- NEW: Full access to Playwright page object in custom scripts
- NEW: Support for complex browser automation workflows
- IMPROVED: Better script execution with error handling
0.4.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.3.*
- 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
