A high-level Ruby API for controlling Chrome/Chromium browsers directly via the Chrome DevTools Protocol.
Ferrum is a Ruby library that provides a high-level API to control Chrome and Chromium browsers programmatically. It connects directly via the Chrome DevTools Protocol, enabling automation, testing, and web scraping without Selenium or WebDriver dependencies. The library runs browsers headlessly by default but supports headful mode for debugging.
Ruby developers who need browser automation for testing, web scraping, or automation scripts, particularly those who want direct access to Chrome's capabilities without WebDriver overhead.
Developers choose Ferrum for its clean Ruby API, elimination of external driver dependencies, and direct access to Chrome's full CDP features that are often restricted in cross-browser automation tools.
Headless Chrome Ruby API
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Connects via Chrome DevTools Protocol for full browser control, enabling capabilities often restricted in WebDriver, as emphasized in the philosophy for raw access.
Runs browsers headlessly out of the box with configurable headful mode, simplifying automation setup for testing and scraping, per the key features.
Eliminates Selenium, WebDriver, and ChromeDriver, reducing setup overhead and maintenance, as highlighted in the description for a pure Ruby implementation.
Provides a clean, high-level interface with intuitive methods for mouse, keyboard, and JavaScript control, demonstrated in the quick start examples.
Exclusively supports Chrome and Chromium, making it unsuitable for projects needing cross-browser testing or automation of other browsers.
Requires users to install and configure Chrome/Chromium binaries manually, with noted challenges on Linux due to lack of official packages, as mentioned in the install section.
Has a niche community with fewer integrations compared to Selenium, though it supports projects like Cuprite for Capybara, limiting readily available resources and plugins.
Ferrum is an open-source alternative to the following products:
Selenium WebDriver is the core API of Selenium that provides a programming interface to control web browsers, enabling automation of user interactions like clicking and typing.
ChromeDriver is a standalone server that implements the WebDriver protocol for automating Chrome browser testing.