- Home
- Game Memory Editors
- chromedp
chromedp
What it is
chromedp is a free, MIT-licensed Go package for controlling browsers that support the Chrome DevTools Protocol, without an external driver. Its examples cover navigation, clicking, reading page content, running JavaScript, filling and submitting forms, and waiting for elements. Network-related examples include setting cookies and HTTP headers, using a password-protected proxy, intercepting requests, and saving or restoring login sessions. It can capture screenshots, print pages to PDF, and save browser screencast frames as JPEG files. Separate browser contexts can work as tabs for parallel tasks, but sharing a context between goroutines can cause races. A separate remote module connects to an already running browser over WebSocket, including one in a container or hosted service. The project also provides a headless-shell Docker image. By default, Chrome communicates over remote-debugging pipes and does not open a debugging port; using WebSocket involves a debugging port. The README requires Go 1.27 or newer and advises against disabling Chrome site isolation except for trusted pages. The project directs questions and feature ideas to GitHub Discussions, bugs to its issue tracker, and chat to Discord.
For and against
For
- Free, MIT-licensed Go package
- Automates browser interaction and form tasks
- Can capture screenshots and print PDFs
- Remote module connects over WebSocket
- Default connection does not open a debugging port
Against
- Requires Go 1.27 or newer
- Sharing one context between goroutines can cause races
- WebSocket connection uses a debugging port
The verdict
chromedp provides browser control and output capture for Go projects, with headless and remote-browser options. Note the Go version requirement and the warning about shared contexts and site isolation.
Who it suits
It may suit Go developers who need browser automation without an external driver, including work involving page interaction, network settings, or browser output. It requires Go 1.27 or newer.
Plans and prices
chromedp
MIT-licensed Go package · requires Go 1.25 or newer
Read 9 Oct 2026 · github.com
On the record
- Automation
- It supports browser actions such as navigation, reading page content, running JavaScript, clicking elements, filling forms, and uploading files.github.com · read 9 Oct 2026
- Browser actions
- Its examples cover navigation, clicking, reading page text, running JavaScript, filling and submitting forms, and waiting for elements.github.com · read 4 Oct 2026
- Browser connection
- By default it starts Chrome and communicates over pipes; a separate remote module supports connecting to an already-running browser over WebSocket.github.com · read 9 Oct 2026
- Compatibility
- The current module requires Go 1.25 or newer.github.com · read 9 Oct 2026
- Concurrency
- Multiple contexts sharing one browser can run in parallel in separate tabs, but a single context should not be shared between goroutines.github.com · read 9 Oct 2026
- Headless mode
- It runs Chrome headlessly by default, and can use the chromedp/headless-shell container image in headless environments.github.com · read 9 Oct 2026
- Integration
- The project provides a headless-shell Docker image for running chromedp in a headless environment.github.com · read 4 Oct 2026
- License
- The repository identifies its license as MIT.github.com · read 9 Oct 2026
- Network
- Its examples cover setting cookies and HTTP headers, proxy authentication, request interception, session restoration, and HAR recording.github.com · read 9 Oct 2026
- Network features
- Examples show setting cookies and HTTP headers, using a password-protected proxy, intercepting requests, and saving or restoring login sessions.github.com · read 4 Oct 2026
- Output
- It can capture screenshots, print pages to PDF, emulate devices, and save screencast frames.github.com · read 9 Oct 2026
- Purpose
- chromedp is a Go package for driving browsers that support the Chrome DevTools Protocol, without an external driver.github.com · read 9 Oct 2026
- Remote browsers
- The separate remote module can connect to an already running browser, including one in a container or hosted service, over a WebSocket.github.com · read 4 Oct 2026
- Requirements
- The README says the module requires Go 1.27 or newer.github.com · read 4 Oct 2026
- Security
- By default, chromedp starts Chrome with remote-debugging pipes, so Chrome opens no debugging port.github.com · read 4 Oct 2026
- Security detail
- The default pipe connection does not open a Chrome debugging port; switching to WebSocket uses a debugging port.github.com · read 9 Oct 2026
- Security limitation
- The README says disabling Chrome site isolation can enable access to some cross-site iframe content, and advises doing so only for trusted pages because it turns off a Chrome security feature.github.com · read 9 Oct 2026
- Support
- The project directs questions and feature suggestions to GitHub Discussions and Discord, and reserves the issue tracker for bugs.github.com · read 9 Oct 2026