Free tools Windows power users keep installed
One-click scans. No signup required.
Run Chrome Beta or Dev as a Selenium endpoint with Docker Selenium’s selenium/standalone-chrome:beta or selenium/standalone-chrome:dev image. The documented setup publishes WebDriver on port 4444, browser viewing on 7900, and allocates 2 GB of shared memory. These Chrome channel images target Linux/AMD64.
Run a standalone Chrome Beta or Dev container
Use a standalone image when one container should provide both the browser and the Selenium WebDriver endpoint. The following Beta command follows Docker Selenium’s documented configuration:
docker run --platform linux/amd64 --rm -it
-p 4444:4444 -p 7900:7900
--shm-size 2g selenium/standalone-chrome:beta
For the Dev channel, replace the final image tag with selenium/standalone-chrome:dev. The official Docker Selenium README documents both channel tags and this port and shared-memory setup: Docker Selenium README.
4444is the host port for Selenium WebDriver requests.7900provides the browser-viewing endpoint.--shm-size 2gallocates 2 GB of shared memory to the container, matching the documented example; it is a configuration setting, not a performance guarantee.--rmremoves the container after it stops, while-itkeeps it attached to the terminal.
Connect a Selenium client
With the container running, point a remote Selenium client at http://localhost:4444. For example, in Python:
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitches#1 Best Overall
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
driver = webdriver.Remote(
command_executor="http://localhost:4444",
options=options,
)
try:
driver.get("https://example.com")
print(driver.title)
finally:
driver.quit()
This creates a WebDriver session on the containerized browser. Stop the standalone container with Ctrl+C in its attached terminal.
Choose the right Docker Selenium image family
The channel tag and the image family are separate choices. The commands above use the regular Chrome image family. Docker Selenium also documents Chrome for Testing channel images:
Rank #2
selenium/standalone-chrome-for-testing:betaselenium/standalone-chrome-for-testing:dev
These are different image names, not alternate tags for selenium/standalone-chrome. The documented Chrome for Testing images are Linux/AMD64 only. Choose the image family that matches the browser build your tests need, and keep that choice consistent when switching between local runs and CI.
Run Chrome Beta or Dev as a Grid node
Use a Grid node when a hub should coordinate browser sessions or multiple nodes. Docker Selenium’s documented channel-specific node image names are selenium/node-chrome:beta and selenium/node-chrome:dev. Configure the node’s SE_EVENT_BUS_HOST to the hub’s reachable hostname or service name, and make the hub’s event-bus ports 4442–4444 available to the node.
Recommended Free Tools
Rank #3
A minimal Compose pattern for a Beta node is:
services:
hub:
image: selenium/hub
ports:
- "4442:4442"
- "4443:4443"
- "4444:4444"
chrome:
image: selenium/node-chrome:beta
shm_size: 2gb
depends_on:
- hub
environment:
SE_EVENT_BUS_HOST: hub
For Dev, change the node image to selenium/node-chrome:dev. The node needs to be able to resolve and reach the hub service on the Docker network. When running the hub and node in separate networks or hosts, use a hostname reachable from the node rather than assuming localhost refers to the hub. The official README provides Beta and Dev Compose examples and uses 2 GB shared memory for the Chrome node: Docker Selenium README.
In a typical Grid deployment, clients send WebDriver requests to the hub’s port 4444, rather than directly to the node. Keep ports 4442 and 4443 reachable between hub and node for the event bus; they are not substitutes for the client-facing WebDriver endpoint.
Rank #4
Check architecture and select a stable image version
AMD64 and ARM64 are not interchangeable here
Docker Selenium documents its Chrome Dev and Beta images as AMD64-only. The documented ARM64 Chrome images instead use the Chromium driver of the same major version from a stable-channel package. Do not assume that the Dev/Beta Chrome image commands will work on an ARM64 host. The Chrome for Testing images are also Linux/AMD64 only. Check the Docker Selenium README’s platform notes before choosing an image for an ARM machine or an ARM-based CI runner.
Moving channel tags versus pinned releases
The :beta and :dev tags follow pre-release channels, so the browser version behind a tag can change. That is useful when tests need to track a current channel, but it is not a reproducible version selection. For repeatable CI, choose a fixed Docker Selenium release tag and verify the associated Grid, Chrome or Chrome for Testing, and ChromeDriver versions. The project tracks these as separate components; check its release information and date when selecting a version: Docker Selenium releases.
Best Value
Troubleshoot common startup and connection problems
- Image fails on ARM64: The documented Chrome Dev/Beta and Chrome for Testing images target AMD64. Use a supported ARM64 Chrome image path instead of assuming the channel image supports your architecture.
- Client cannot connect: Confirm the container is running and the host published port 4444. In Grid, send client traffic to the hub and verify the node can reach the hub using
SE_EVENT_BUS_HOST. - Grid node does not register: Check that the hub hostname resolves from the node, that event-bus ports 4442–4444 are reachable, and that the node uses the matching
selenium/node-chrome:betaor:devtag. - Browser viewing page is unavailable: Confirm port 7900 is published by the standalone container. It is separate from the WebDriver port 4444.
- Runs differ over time: A channel tag can move to a newer browser build. Pin a release version for repeatable environments and consult the releases page for the component versions.
Or skip the browser setup
If your goal is to capture a website rather than run Selenium tests against a Chrome channel, ScreenshotNeo is a website screenshot API and MCP server. A single GET request returns an image or PDF; see the ScreenshotNeo API documentation.
Quick Recap
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
ScreenshotNeo accepts cookie or consent banners as a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each of those steps can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers report the page verdict and billing status. 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 per month without a card; paid plans start at $5 for 3,000 shots.
Sign up for ScreenshotNeo’s free plan.
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.




