ferrum
Selenium WebDriver
Our great sponsors
ferrum | Selenium WebDriver | |
---|---|---|
9 | 63 | |
1,647 | 29,279 | |
3.0% | 1.3% | |
8.5 | 9.9 | |
about 1 month ago | 2 days ago | |
Ruby | Java | |
MIT License | Apache License 2.0 |
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
- 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
Selenium WebDriver
-
JS Toolbox 2024: Bundlers and Test Frameworks
Selenium is an extensively used open-source automation framework for web applications. It allows for cross-browser testing by automating browser actions, making it a staple tool for end-to-end testing in diverse web development environments.
-
What is Playwright?
While similar to Puppeteer, Cypress, and Selenium, there are some differences. Let’s find out what they are.
-
Getting ModuleNotFoundError: No module named 'selenium' with Python on Windows
browser.get('http://selenium.dev/')
-
Introduction to Cypress and UI Test Automation
Cypress is a next-generation front-end Automation testing tool built for modern web applications. It is a JavaScript-based end-to-end testing framework and is known for faster test execution as compared with other testing tools (like Selenium or Protractor).
-
What happened to Selenium .NET documentation?
Removing ExpectedConditions from documentation makes sense since it was removed from the codebase around 2019 already.
-
Opinions on changing the default branch name to something other than main or master.
https://github.com/SeleniumHQ/selenium --> trunk
-
How to write tests in Django for JavaScript fetch
You won't be able to test the javascript function itself from within python, but you can exercise the front-end code using something like cypress (https://cypress.io) or the older but still respectable selenium (https://selenium.dev).
-
Chrome session failing to be created
once you solve this you may run into: https://github.com/SeleniumHQ/selenium/issues/11750, so add that workaround.
-
How to scrape the web with Puppeteer in 2023
Other libraries with similar functionality are Selenium, which is very popular outside the JavaScript world, and Playwright, a younger step-brother of Puppeteer.
-
9 Tools you must master to excel as a DevOps Engineer
🔗 https://selenium.dev
What are some alternatives?
cuprite - Headless Chrome/Chromium driver for Capybara
metamask-extension - :globe_with_meridians: :electric_plug: The MetaMask browser extension enables browsing Ethereum blockchain enabled websites
puppeteer - Headless Chrome Node.js API [Moved to: https://github.com/puppeteer/puppeteer]
PyAutoGUI - A cross-platform GUI automation Python module for human beings. Used to programmatically control the mouse & keyboard.
Capybara - Acceptance test framework for web applications
splinter - splinter - python test framework for web applications
puffing-billy - A rewriting web proxy for testing interactions between your browser and external sites. Works with ruby + rspec.
Selenium Wire - Extends Selenium's Python bindings to give you the ability to inspect requests made by the browser.
puphpeteer - A Puppeteer bridge for PHP, supporting the entire API.
locust - Write scalable load tests in plain Python 🚗💨
playwright-ruby-client - Playwright client for Ruby
Playwright - Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.