Ferrum is a Ruby library that provides a high-level API for controlling Chrome or Chromium browsers using the Chrome DevTools Protocol. The project allows developers to automate browser interactions directly without relying on Selenium, WebDriver, or external drivers, which simplifies browser automation workflows. Ferrum runs in headless mode by default but can also be configured to run with a visible browser window for debugging and development purposes. The library communicates directly with Chrome through the DevTools Protocol, providing access to advanced browser functionality such as DOM manipulation, network inspection, and page automation. Because of this low-level access, Ferrum offers greater flexibility and performance compared to traditional WebDriver-based automation tools. It is commonly used for tasks such as web scraping, automated testing, crawling, and screenshot or PDF generation.
Features
- Direct control of Chrome and Chromium through the DevTools Protocol
- Headless browser automation with optional graphical browser mode
- High-level Ruby API for page navigation and interaction
- Network monitoring and request inspection capabilities
- Tools for screenshots, PDF generation, and DOM manipulation
- Integration foundation for frameworks such as Capybara drivers