FREEDOM251

Freedom251 › Browser Automation Tools

Ferrum

Free plan Linux

Visit Ferrum Alternatives

Ferrum's own site

What Ferrum is

Ferrum is an open-source Ruby API for controlling Chrome on Linux. It connects through the Chrome DevTools Protocol, without Selenium, WebDriver, or ChromeDriver dependencies. The library can navigate pages, find elements with CSS or XPath, and send mouse and keyboard input. It runs headlessly by default, with an option to run headfully. Capture methods save or return screenshots, PDFs, and MHTML, while JavaScript methods evaluate expressions and execute scripts in pages. Ferrum also lists controls for network activity, cookies, headers, frames, and dialogs. The documentation describes it as thread-safe, with browser and page contexts usable across threads, and supports proxy settings. Ruby 3.1 or later is required, along with Chrome or Chromium available on PATH or configured through BROWSER_PATH. Ferrum is released under the MIT License and can be self-hosted. Cuprite connects it to Capybara, and Vessel builds crawling features on Ferrum and Mechanize.

Who it suits

Ferrum suits Ruby developers automating Chrome on Linux who want direct Chrome DevTools Protocol access. It also fits teams needing screenshots, PDFs, JavaScript execution, proxies, or thread-based browser contexts.

What it does well

  • Open-source under the MIT License
  • No Selenium, WebDriver, or ChromeDriver dependency
  • Supports CSS and XPath element finding
  • Captures screenshots, PDFs, and MHTML
  • Described as fully thread-safe

What to know first

  • Linux platform listed
  • Requires Ruby 3.1 or later
  • Requires Chrome or Chromium installed
  • One browser engine listed

Verdict

Ferrum provides a direct Ruby interface to Chrome automation with broad navigation, input, capture, and JavaScript controls. Its Linux focus and requirement for Ruby plus a browser should guide setup decisions.

Facts from Ferrum's own pages

Browser automation
Ferrum supports page navigation, CSS and XPath element finding, and mouse and keyboard input. · docs.rubycdp.com, 5 Oct 2026
Browser modes
Ferrum runs headless by default and can be configured to run with a visible browser window. · github.com, 11 Oct 2026
Browser protocol
Ferrum connects to Chrome through the Chrome DevTools Protocol and does not depend on Selenium, WebDriver, or ChromeDriver. · github.com, 11 Oct 2026
Features
The project website lists navigation and finders, screenshots, mouse and keyboard control, network, cookies, headers, JavaScript, frames, and dialogs. · ferrum.rubycdp.com, 11 Oct 2026
Integrations
Cuprite is a Capybara driver built on Ferrum, and Vessel is a web crawling framework based on Ferrum and Mechanize. · github.com, 11 Oct 2026
JavaScript
The documentation provides methods to evaluate JavaScript expressions and execute JavaScript in a page. · docs.rubycdp.com, 5 Oct 2026
License
Ferrum is available as open-source software under the MIT License. · github.com, 11 Oct 2026
Linux browser setup
The documentation advises downloading Chrome or Chromium from its official source because it says there is no official Chrome or Chromium package for Linux. · docs.rubycdp.com, 5 Oct 2026
Page capture
Its capture methods can save or return screenshots, PDFs, and MHTML. · docs.rubycdp.com, 5 Oct 2026
Protocol
It connects to Chrome through the Chrome DevTools Protocol without a Selenium, WebDriver, or ChromeDriver dependency. · docs.rubycdp.com, 5 Oct 2026
Proxy support
Ferrum accepts proxy settings for a browser or for pages created in separate contexts. · docs.rubycdp.com, 5 Oct 2026
Purpose
Ferrum provides a high-level Ruby API to control Chrome and automate browser tasks. · ferrum.rubycdp.com, 11 Oct 2026
Requirements
Ferrum requires Ruby and Chrome or Chromium; the browser binary must be available on PATH or specified with BROWSER_PATH. · github.com, 11 Oct 2026
Ruby version
The published gem requires Ruby version 3.1 or later. · rubygems.org, 11 Oct 2026
Support
The project welcomes bug reports and pull requests on GitHub. · github.com, 11 Oct 2026
Thread safety
The project website says Ferrum was designed to be thread safe and that each page can be maintained independently through a dedicated websocket. · ferrum.rubycdp.com, 11 Oct 2026

Where Ferrum stands on Freedom251

Look at these too