经 AI Skill Hub 精选评估,n8n AI工作流自动化 获评「强烈推荐」。这款AI工具在功能完整性、社区活跃度和易用性方面表现出色,AI 评分 8.0 分,适合有一定技术背景的用户使用。
基于Puppeteer的n8n工作流节点,提供浏览器自动化能力。支持网页爬取、PDF生成、表单填充等任务自动化。适合需要在n8n工作流中集成浏览器操作的开发者和自动化工程师。
n8n AI工作流自动化 是一款基于 TypeScript 开发的开源工具,专注于 n8n节点、浏览器自动化、Puppeteer 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。
基于Puppeteer的n8n工作流节点,提供浏览器自动化能力。支持网页爬取、PDF生成、表单填充等任务自动化。适合需要在n8n工作流中集成浏览器操作的开发者和自动化工程师。
n8n AI工作流自动化 是一款基于 TypeScript 开发的开源工具,专注于 n8n节点、浏览器自动化、Puppeteer 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。
# 方式一:npm 全局安装 npm install -g n8n-nodes-puppeteer # 方式二:npx 直接运行(无需安装) npx n8n-nodes-puppeteer --help # 方式三:项目依赖安装 npm install n8n-nodes-puppeteer # 方式四:从源码运行 git clone https://github.com/drudge/n8n-nodes-puppeteer cd n8n-nodes-puppeteer npm install npm start
# 命令行使用
n8n-nodes-puppeteer --help
# 基本用法
n8n-nodes-puppeteer [options] <input>
# Node.js 代码中使用
const n8n_nodes_puppeteer = require('n8n-nodes-puppeteer');
const result = await n8n_nodes_puppeteer.run(options);
console.log(result);
# n8n-nodes-puppeteer 配置说明 # 查看配置选项 n8n-nodes-puppeteer --config-example > config.yml # 常见配置项 # output_dir: ./output # log_level: info # workers: 4 # 环境变量(覆盖配置文件) export N8N_NODES_PUPPETEER_CONFIG="/path/to/config.yml"

n8n node for browser automation using Puppeteer. Execute custom scripts, capture screenshots and PDFs, scrape content, and automate web interactions using Chrome/Chromium's DevTools Protocol. Full access to Puppeteer's API plus n8n's Code node capabilities makes this node powerful for any browser automation task.
We provide a ready-to-use Docker setup in the docker/ directory that includes all necessary dependencies and configurations:
2. Build your Docker image:
npm run docker:build
3. Run the container:
npm run docker:run
Or for testing without persistent data:
npm run docker:run:fresh
npm run docker:build - Build the Docker image with Puppeteer nodenpm run docker:run - Run n8n with persistent data volumenpm run docker:run:fresh - Run n8n without persistent data (clean start)npm run docker:run:external-browser - Run with external browser connection examplenpm run docker:test - Quick test to verify the image worksnpm run docker:shell - Open a shell inside the container for debuggingnpm run docker:clean - Remove the data volumenpm run docker:clean:all - Remove data volume and imagesWhen running in Docker or Kubernetes, the node automatically detects the container environment and applies necessary Chrome launch arguments (--no-sandbox, --disable-setuid-sandbox, --disable-dev-shm-usage, --disable-gpu). This happens automatically - no configuration needed!
A blue info banner will appear in the node when a container is detected. This can be toggled off in Options > Add Container Arguments if needed.
For a standard installation without Docker:
```bash
npm install n8n-nodes-puppeteer ```
Note: By default, when Puppeteer is installed, it downloads a compatible version of Chromium. While this works, it increases installation size and may not include necessary system dependencies. For production use, we recommend either using the Docker setup above or installing system Chrome/Chromium and setting the PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true environment variable.
The included Docker setup provides the most reliable way to run Chrome/Chromium with all necessary dependencies. It uses Alpine Linux's Chromium package and includes all required fonts and libraries.

The following environment variables can be used to configure Puppeteer globally:
PUPPETEER_BROWSER_WS_ENDPOINT or PUPPETEER_WS_ENDPOINT: WebSocket URL of the browser to connect to. This eliminates the need to configure each node individually.PUPPETEER_PROTOCOL: Protocol to use (cdp or webDriverBiDi). Useful for Firefox setups.PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: Set to true to skip downloading Chromium during installation.PUPPETEER_EXECUTABLE_PATH: Path to the browser executable.Example:
docker run -it -p 5678:5678 \
-e PUPPETEER_BROWSER_WS_ENDPOINT=ws://browserless:3000 \
-e PUPPETEER_PROTOCOL=cdp \
n8n-puppeteer
Node-level settings always override environment variables when specified.
- Batch Size: Maximum number of pages to open simultaneously. More pages will consume more memory and CPU. - Browser WebSocket Endpoint: The WebSocket URL of the browser to connect to. When configured, puppeteer will skip the browser launch and connect to the browser instance. Can also be set globally via environment variables: PUPPETEER_BROWSER_WS_ENDPOINT or PUPPETEER_WS_ENDPOINT. - Protocol: The protocol to use when connecting to the browser. Options: - CDP (Chrome DevTools Protocol) - Default for Chrome/Chromium - WebDriver BiDi - For Firefox and cross-browser automation Can also be set globally via environment variable: PUPPETEER_PROTOCOL. - Emulate Device: Allows you to specify a device to emulate when requesting the page. - Executable Path: A path where Puppeteer expects to find the bundled browser. Has no effect when 'Browser WebSocket Endpoint' is set. - Extra Headers: Allows you add additional headers when requesting the page. - Timeout: Allows you to specify the maximum navigation time in milliseconds. You can pass 0 to disable the timeout entirely. - Protocol Timeout: Maximum time in milliseconds to wait for a protocol response. Pass 0 to disable timeout. - Wait Until: Allows you to change how Puppeteer considers navigation completed. - load: The load event is fired. - domcontentloaded: The DOMContentLoaded event is fired. - networkidle0: No more than 0 connections for at least 500 ms. - networkidle2: No more than 2 connections for at least 500 ms. - Page Caching: Allows you to toggle whether pages should be cached when requesting. - Headless mode: Allows you to change whether to run browser runs in headless mode or not. - Use Chrome Headless Shell: Whether to run browser in headless shell mode. Defaults to false. Headless mode must be enabled. chrome-headless-shell must be in $PATH. - Stealth mode: When enabled, applies various techniques to make detection of headless Puppeteer harder. Powered by puppeteer-extra-plugin-stealth. - Human typing mode: Gives page the function .typeHuman() which "humanizes" the writing of input elements. Includes configurable options for typing speed, typos, and backspace delays. - Launch Arguments: Allows you to specify additional command line arguments passed to the browser instance. - Capture Downloads: When enabled, any files downloaded during script execution (via clicks, direct downloads, etc.) will be automatically captured and returned as binary data in the node output. Perfect for downloading PDFs, images, or other files triggered by user interactions. Files are automatically cleaned up after capture. - Add Container Arguments: Automatically adds recommended arguments for container environments (--no-sandbox, --disable-setuid-sandbox, --disable-dev-shm-usage, --disable-gpu). Container environments are auto-detected by default. Disable only if you experience launch issues. - Proxy Server: Allows Puppeteer to use a custom proxy configuration. You can specify a custom proxy configuration in three ways: By providing a semi-colon-separated mapping of list scheme to url/port pairs. For example, you can specify:
http=foopy:80;ftp=foopy2
to use HTTP proxy "foopy:80" for http URLs and HTTP proxy "foopy2:80" for ftp URLs.
By providing a single uri with optional port to use for all URLs. For example:
foopy:8080
will use the proxy at foopy:8080 for all traffic.
By using the special "direct://" value.
direct://" will cause all connections to not use a proxy.
date: Formatted print datetitle: Document titleurl: Document locationpageNumber Current page numbertotalPages Total pages in the documentdate: Formatted print datetitle: Document titleurl: Document locationpageNumber Current page numbertotalPages Total pages in the documentWhen used as a tool by n8n AI agents, this node supports two powerful workflows:
1. AI-Generated Scripts: AI agents can dynamically generate the entire Puppeteer script using $fromAI() on the Script Code parameter. The AI analyzes the task and writes the appropriate Puppeteer code to accomplish it.
// AI agent generates script dynamically based on the task
scriptCode: $fromAI('code', 'Generate a Puppeteer script to extract product prices from the homepage')
2. Reusable Scripts with AI Input: Write a reusable script that accepts dynamic input from AI agents via the Query parameter. Access the input using $input.query in your script.
// Reusable script that processes AI-provided input
const url = $input.query || 'https://example.com';
await $page.goto(url);
const data = await $page.evaluate(() => {
return document.querySelector('h1').textContent;
});
return [{ url, title: data }];
// AI agent provides input dynamically
query: $fromAI('url', 'The website URL to scrape')
This makes the node extremely flexible for AI-powered automation - agents can either write custom scripts for specific tasks or pass data to pre-built, reusable scripts.
You can also connect to an external Chrome or Firefox instance using the "Browser WebSocket Endpoint" option. This approach: - Eliminates the need for Chrome dependencies in your n8n environment - Simplifies deployment and maintenance - Provides better resource isolation - Works great for cloud and containerized deployments - Supports Firefox via WebDriver BiDi protocol
Options include: - Managed Services: Use browserless or browsercloud - Self-Hosted Chrome: Run your own browser container:
docker run -p 3000:3000 -e "TOKEN=6R0W53R135510" ghcr.io/browserless/chromium
- Self-Hosted Firefox: Run Firefox with WebDriver BiDi support
Per-Node Configuration: In any Puppeteer node, go to Options > Add Option: - Add "Browser WebSocket Endpoint" and enter your WebSocket URL (e.g., ws://browserless:3000?token=6R0W53R135510) - Add "Protocol" and select: - CDP (Chrome DevTools Protocol) - for Chrome/Chromium (default) - WebDriver BiDi - for Firefox
Global Configuration via Environment Variables (Recommended):
Instead of configuring each node individually, you can set environment variables:
```bash
If you see errors about missing shared libraries (like libgobject-2.0.so.0 or libnss3.so), either:
For additional help, see Puppeteer's troubleshooting guide.
成熟的n8n生态扩展,573星获得社区认可。TypeScript实现保证质量,与Puppeteer深度集成,为工作流提供强大浏览器自动化能力,维护活跃。
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。
AI Skill Hub 点评:n8n AI工作流自动化 的核心功能完整,质量优秀。对于AI 技术爱好者来说,这是一个值得纳入个人工具库的选择。建议先在非生产环境试用,再逐步推广。
| 原始名称 | n8n-nodes-puppeteer |
| 原始描述 | 开源n8n工作流:n8n node for browser automation using Puppeteer。⭐573 · TypeScript |
| Topics | n8n节点浏览器自动化Puppeteer工作流爬虫 |
| GitHub | https://github.com/drudge/n8n-nodes-puppeteer |
| License | MIT |
| 语言 | TypeScript |
收录时间:2026-05-13 · 更新时间:2026-05-16 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。