Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

You can automate a browser from Node-RED by installing a community Playwright palette package, installing the matching Playwright browser binaries and system dependencies, then connecting browser actions in a flow. Node-RED does not include Playwright as a core node. A typical flow takes a URL and input data, opens a page, waits for a usable state or selector, interacts with the page, and passes a screenshot or extracted result to another node.

Choose a Playwright palette package

Node-RED’s core installation does not include Playwright. A community palette package adds browser actions to the editor. Two options listed in the package catalog are node-red-contrib-playwright-automation and node-red-contrib-playwright. The first package documents browser configuration for Chromium, Firefox, or WebKit, as well as navigation, clicks, form filling, screenshots, and JavaScript evaluation. It also describes passing URLs, selectors, and values through message properties, and exposing a Playwright page reference for advanced use. The second is another available integration; check its package documentation and the installed node’s Help panel for the exact controls exposed by its version.

Package names alone do not establish which is best maintained or which has the most suitable error handling for your flow. Before choosing, compare the package’s update history, supported browsers and actions, deployment requirements, and how it reports launch and page errors. Node properties can vary between package versions, so do not assume that a field name shown in an example for one package will work unchanged in another.

Install the palette and browser binaries

Install from Node-RED’s Palette Manager

  1. Open the Node-RED editor and choose Manage Palette.
  2. Open the Install tab and search for the exact package name, such as node-red-contrib-playwright-automation.
  3. Install the package, then restart the Node-RED runtime. The editor’s catalog search finds installable nodes, but the runtime must restart to load npm-installed nodes.
  4. After the restart, confirm the Playwright nodes appear in the palette and open each node’s Help panel to check its inputs, outputs, and properties.

Install from npm in the Node-RED user directory

For a typical local installation, the user directory is ~/.node-red. Change to the directory used by your active Node-RED runtime, then install one package:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter
  • Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
  • Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
  • Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
  • Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
  • 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.
cd ~/.node-red
npm install node-red-contrib-playwright-automation
# Alternatively:
# npm install node-red-contrib-playwright

Restart Node-RED after installation and inspect the runtime log if the nodes do not appear. Installing into a different user directory from the one used by the running service is a common reason the palette remains unchanged.

Install Playwright and its browser executables

Playwright’s Node.js library and browser executables are separate installation concerns. For flows or custom JavaScript that use Playwright directly, install the library and then its browser binaries:

npm i -D playwright
npx playwright install chromium firefox webkit

Install only the browser engines your flow needs if you want to avoid downloading unused binaries; for example, a Chromium-only flow can use npx playwright install chromium. The installed Playwright version expects specific browser binaries. After changing or upgrading the library, run its install command again so the binaries match.

Add operating-system dependencies on Linux or CI

A browser executable can be present while the host is still missing shared libraries required to launch it. On Linux or CI, Playwright provides commands to install system dependencies:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter
  • 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
  • 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
  • Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
  • 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
  • What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.
npx playwright install-deps
# Or install dependencies together with a browser:
npx playwright install --with-deps chromium

In a Docker deployment, include the browser binaries and required operating-system libraries in the image or in a deliberate initialization step. Do not assume that installing a Node-RED palette package inside a container also provisions everything the browser needs.

Build a basic browser-automation flow

The shape of the flow is usually: input node → prepare message → browser navigation and actions → result handling. The exact palette node names and fields depend on the package and its version; use that node’s Help panel for the concrete configuration. The following pattern passes a URL, a selector, and a value through the message:

msg.url = "https://example.com";
msg.selector = "input[name=email]";
msg.value = "reader@example.com";
return msg;

1. Provide a URL and any inputs

Use an Inject node to start a test run, or pass a message from the preceding stage of your flow. A Function node can set fields such as msg.url, msg.selector, and msg.value. For a production flow, validate the URL and inputs before they reach a browser node, especially if users or external systems can supply them.

2. Configure and launch the browser

Choose the browser engine supported by your installed package and deployment. Headless mode is generally appropriate for a server without a graphical display. Use headed mode only when a display is available and you need to see the browser while debugging. If the node exposes launch options, make sure they match the host’s installed browser binaries and operating-system dependencies.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter
  • Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
  • Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
  • Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
  • Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
  • What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.

3. Navigate and wait for the page you need

Pass the target URL to the navigation action, using the message property or the node’s URL field as supported by that package. Then wait for an appropriate page state or a specific selector before interacting. A page’s initial navigation finishing does not guarantee that a client-rendered form or result is ready. Waiting for a relevant selector is often more dependable than adding an arbitrary delay, though a delay can be useful for a known timed behavior.

4. Interact with the page

Connect click or form-fill actions after navigation and readiness checks. Supply a selector and, for a fill operation, the value through the node’s configured fields or message properties. If a selector fails, first verify that it matches the page as rendered, and determine whether the target is inside an iframe. A selector in the top-level document cannot directly identify an element inside a separate frame unless the integration exposes frame handling.

5. Capture or extract a result

Use a screenshot action when the next stage needs an image. For structured output, use the package’s JavaScript-evaluation action to read page information or extract a value. Some integrations expose the Playwright page reference for advanced Function-node use; treat that as package-specific behavior and confirm its lifetime and usage in the installed documentation.

6. Route success and errors separately

Connect successful results to a Debug node while developing, then to storage, an HTTP Response node, or another flow stage as appropriate. If the installed node offers separate success and error outputs, wire both: a failed navigation or browser launch should not silently look like a valid empty result. Log enough context to diagnose a failure, but avoid logging passwords, authorization values, cookies, or other secrets.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray
  • Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
  • Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
  • Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
  • Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
  • Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft

Deploy Node-RED with Playwright

Playwright needs a runtime environment that can launch its browser. Node-RED’s local-runtime documentation covers global npm installation and Docker; its documented Docker image is nodered/node-red, and the standard local example uses http://localhost:1880. These are deployment starting points, not a guarantee that a particular image already contains the browser version and libraries your flow needs.

Local runtime or Linux host

Install the palette into the user directory used by the running service, install the Playwright browsers for the same project and version, and make sure the service account can access the browser cache and launch the executable. Check outbound network access if the flow visits external websites. For always-on automation, verify available CPU and memory under concurrent runs; browser processes consume resources beyond the Node-RED runtime itself.

Docker

Build or initialize the container so it has the palette package, matching Playwright browser binaries, and required operating-system libraries. Pin and update the Node.js dependencies deliberately, then rebuild or rerun browser installation when Playwright changes. A container that starts Node-RED successfully can still fail when a flow attempts its first browser launch.

Credentials and access

Pass secrets through environment variables or Node-RED credential features rather than hard-coding them in Function-node source. Restrict who can edit flows and inspect logs, and consider which pages the flow is allowed to reach: a flow that accepts arbitrary URLs can become a route to internal services if its inputs are not controlled. These are deployment precautions, not performance or security guarantees about a particular palette package.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshoot common failures

Playwright nodes do not appear in the editor

  • Confirm the package was installed in the active Node-RED user directory, not a different account’s ~/.node-red.
  • Restart the Node-RED runtime after npm installation.
  • Check the runtime log for installation errors or a failure while loading the package.

Browser executable is missing or will not launch

  • Run npx playwright install from the project containing the installed Playwright version, or install the specific browser engine your flow uses.
  • On Linux or CI, install required libraries with npx playwright install-deps or npx playwright install --with-deps chromium.
  • After upgrading Playwright, rerun browser installation; its browser binaries are version-specific.
  • In Docker, check that the runtime image or initialization step contains the binaries and OS packages, and that the Node-RED process can access them.

A click or fill action times out

  • Check that navigation reached the expected URL rather than a redirect, error page, or login screen.
  • Wait for the selector that must be present before the action, and verify the selector against the rendered page.
  • Check whether the element is inside an iframe and whether the selected package provides the frame access needed.
  • Inspect the preceding node’s output and the runtime log to distinguish a selector problem from a browser or navigation failure.

Headed mode fails on a server

A server without a graphical display cannot normally show a headed browser. Switch the node to headless mode, or run debugging on a host with a working display. A display configuration is not supplied automatically just because the flow works in headless mode.

The flow works locally but fails after deployment

Compare the Node.js project and Playwright versions, browser installation, OS libraries, runtime user permissions, environment variables, and outbound network access between the two environments. In particular, verify that the deployed service uses the same Node-RED user directory where you installed the package.

When a screenshot API is a better fit

If the task is simply to capture a website image or PDF, running a full browser inside Node-RED may be more setup than you need. ScreenshotNeo is a website screenshot API and MCP server from Yorker Media. It accepts a URL in a GET request and returns a PNG, JPEG, WebP, or PDF. It is not a replacement for a flow that needs arbitrary browser interaction or application-specific logic, but it can remove browser installation and maintenance from a straightforward capture step.

Or skip the browser setup

Make one request to capture a page as WebP:

curl -G "https://api.screenshotneo.com/v1/shot" 
  -d access_key=YOUR_API_KEY 
  --data-urlencode url=https://example.com 
  -o shot.webp

See the ScreenshotNeo API documentation for request options. Cookie banners and consent overlays, newsletter popups, and chat widgets are removed before the shot; each step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and responses identify the page verdict and billing status in headers. An MCP server provides take_screenshot, get_page_info, and capture_pdf tools for AI agents and MCP clients. The Free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000 shots. Sign up for the free plan.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Keep the flow reliable as it grows

  • Keep browser and library versions aligned. Treat browser installation as part of dependency updates, not a one-time setup that can be forgotten.
  • Prefer explicit readiness checks. Wait for the page state or selector your next action actually needs, then handle timeout failures as a distinct outcome.
  • Limit concurrency to what the host can support. Each browser run uses system resources; test the intended workload on the actual deployment rather than assuming a local run predicts server capacity.
  • Separate inputs, secrets, and outputs. Validate externally supplied URLs and values, keep credentials out of flow source and logs, and send only the required result to downstream nodes.
  • Recheck package behavior after upgrades. Palette actions, message properties, and error outputs are package-version-specific. Confirm them in the installed Help panel before changing a production flow.

Frequently Asked Questions

Can Node-RED run Playwright without a palette package?

Yes, if you write custom Node.js integration code and manage Playwright as a project dependency, but the community palette is the more direct route for adding browser actions in the editor.

Do I need to install every Playwright browser?

No. Install the browser engines your flow uses; the examples show all three engines and a Chromium-only option.

Can I use Playwright in a Docker-based Node-RED deployment?

Yes, provided the deployed environment includes the palette and matching browser binaries and required system libraries.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.