A high-level Ruby API for controlling Chrome/Chromium via the Chrome DevTools Protocol without Selenium dependencies.
Ferrum is a Ruby library that provides a high-level API for controlling Chrome and Chromium browsers. It enables browser automation, testing, and web scraping by communicating directly with the browser via the Chrome DevTools Protocol without requiring Selenium or WebDriver dependencies.
Ruby developers who need browser automation for testing, web scraping, or interacting with JavaScript-heavy applications, particularly those who want direct access to Chrome's capabilities beyond WebDriver limitations.
Developers choose Ferrum for its clean Ruby API, direct CDP integration that unlocks Chrome-specific features, and elimination of Selenium/WebDriver overhead, making it faster and more capable for Chrome/Chromium automation.
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 the raw Chrome DevTools Protocol, bypassing Selenium/WebDriver to unlock Chrome-specific features and avoid their limitations, as emphasized in the README.
Provides a clean, high-level Ruby interface that feels intuitive for Ruby developers, with examples like using `at_xpath` and `focus.type` for element interaction.
Runs browsers headlessly by default but can be configured for visible windows, offering adaptability for debugging or visual testing scenarios.
Supports programmatic mouse movements, keyboard typing, and JavaScript evaluation, enabling complex automation like tracing shapes or executing custom scripts.
Only works with Chrome and Chromium, making it unsuitable for cross-browser automation or testing on other browsers like Firefox or Safari.
Requires Chrome or Chromium to be installed and managed separately, with the README warning against unofficial Linux packages and recommending manual downloads.
Has a narrower community and fewer third-party tools compared to Selenium, which can impact support, integrations, and learning resources.
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.