A Go library for driving browsers via the Chrome DevTools Protocol without external dependencies.
Chromedp is a Go library that provides a high-level API for controlling Chrome or Chromium browsers through the Chrome DevTools Protocol. It enables developers to automate browser interactions for tasks like web scraping, automated testing, and performance monitoring without requiring external dependencies like Selenium.
Go developers who need to automate browser interactions for web scraping, end-to-end testing, or monitoring web applications.
Chromedp offers a faster, simpler alternative to Selenium with no external dependencies, providing native Go integration with the Chrome DevTools Protocol and excellent performance for headless browser automation.
A faster, simpler way to drive browsers supporting the Chrome DevTools Protocol.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Operates purely in Go without Selenium or drivers, simplifying deployment and reducing overhead for Go-centric projects.
Provides complete access to Chrome DevTools Protocol via cdproto, enabling advanced tasks like network interception and JavaScript execution.
Uses Go contexts for cancellation and timeout management, aligning with standard Go practices for resource cleanup.
Optimized for server-side automation with headless mode, but allows easy overrides via ExecAllocatorOptions for debugging.
On Linux, chromedp force-kills Chrome child processes to prevent leaks, disrupting long-running instances unless manually managed with RemoteAllocator.
Requires careful handling of contexts and executors, with common pitfalls like 'invalid context' errors that necessitate workarounds such as ActionFunc wrapping.
Tied exclusively to Chrome/Chromium browsers, lacking native support for other browsers like Firefox or Safari without additional tools.
chromedp is an open-source alternative to the following products:
Selenium is an open-source framework for automating web browsers, enabling testing of web applications across different browsers and platforms through scripting in various programming languages.
Puppeteer is a Node.js library that provides a high-level API to control Chrome or Chromium browsers for automation, testing, and web scraping.