ferrum
Headless Chrome Ruby API (by rubycdp)
webdrivers
Keep your Selenium WebDrivers updated automatically (by titusfortner)
ferrum | webdrivers | |
---|---|---|
9 | 2 | |
1,652 | 592 | |
1.0% | - | |
8.4 | 5.4 | |
6 days ago | 3 months ago | |
Ruby | Ruby | |
MIT License | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ferrum
Posts with mentions or reviews of ferrum.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-09-13.
- Generating PDFs in Rails using Grover
-
Learning Ruby Basics
What are you using for automation? There's a relatively new gem that I heard good things of, vessel: https://github.com/rubycdp/vessel . It uses ferrum under the hood, a set of Ruby bindings to Chrome/Chromium (https://github.com/rubycdp/ferrum).
-
Ruby web scraping gem that can handle JS?
I've used https://github.com/rubycdp/ferrum as driver for automated testing with capybara for which it works great. It recommends https://github.com/rubycdp/vessel as higher level abstraction for web scraping.
-
Automating Jekyll card generation with ruby’s Ferrum gem
require "Rubygems" require "Ferrum" def generate_card(browser, card, png, options={}) browser.go_to("http://localhost:4000/cards/#{card}") # see all the options here https://github.com/rubycdp/ferrum#screenshots browser.screenshot(path: "./images/cards/#{png}", full: true, # final image size is window_size x scale scale: 2) end browser = Ferrum::Browser.new(window_size: [800, 418]) # Check what cards we need to make Dir.glob("_posts/*").each do |post| post = File.basename(post, ".md") png = post + ".png" card = post + ".html" generate_card(browser, card, png) unless File.exists?("./images/cards/#{png}") end
- Best library for scraping dynamic page in Sidekiq background job (Selenium/Puppeteer/Cypress/Playwright)
- Ferrum – high-level API to control Chrome in Ruby
-
Migrating Selenium system tests to Cuprite
That is why we were happy to find out that a new ruby testing driver approach is being developed. It is called Cuprite, it runs the Ferrum library under the hood which, in turn, is an API that directly instruments the Chrome browser using the Chrome DevTools Protocol (CDP). About a week ago, we finally made a serious attempt to make our system test suite run on Cuprite, with especially two questions in our minds:
-
Web scraping with rails
I've used Ferrum for a couple small scripts in the past before.
-
My favorite Ruby gems
Ferrum
webdrivers
Posts with mentions or reviews of webdrivers.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-10-04.
-
Setup RSpec Tests in Rails with Gitlab CI
Note: Previously "webdrivers" gem was required to automate the installation and update browser specific drivers. But Selenium 4 ships with webdrivers now leading to the webdrivers being deprecated. Quoting the webdrivers Github:
-
Migrating Selenium system tests to Cuprite
For a lot of these features, we previously had to adopt various 3rd party gems, such as the Puffing Billy proxy (for blocking domains), the webdrivers gem (for auto-updating the Chrome drivers), etc. and although they certainly did a good job for us, now we were able to finally rip them off the project completely:
What are some alternatives?
When comparing ferrum and webdrivers you can also consider the following projects:
Selenium WebDriver - A browser automation framework and ecosystem.
cuprite - Headless Chrome/Chromium driver for Capybara
puffing-billy - A rewriting web proxy for testing interactions between your browser and external sites. Works with ruby + rspec.
puppeteer - Headless Chrome Node.js API [Moved to: https://github.com/puppeteer/puppeteer]
Capybara - Acceptance test framework for web applications
manga2pdf - Simple Ruby script to download manga and merge the images into a single pdf file. Available with both CLI and GUI.
phantomjs - Scriptable Headless Browser
puphpeteer - A Puppeteer bridge for PHP, supporting the entire API.