{"repo":"rubycdp/ferrum","free":true,"listed":false,"github":"https://github.com/rubycdp/ferrum","clone":"git clone https://github.com/rubycdp/ferrum.git","description":"Headless Chrome Ruby API","language":"Ruby","stars":2036,"topics":["chrome","chromium","headless","headless-chrome","web","automation","developer-tools"],"license":"MIT","category":"scrapers-browser-automation","readme_excerpt":"Ferrum - high-level API to control Chrome in Ruby Documentation It is Ruby clean and high-level API to Chrome. Runs headless by default, but you can configure it to run in a headful mode. All you need is Ruby and Chrome or Chromium. Ferrum connects to the browser by CDP protocol and there's no Selenium/WebDriver/ChromeDriver dependency. The emphasis was made on a raw CDP protocol because Chrome allows you to do so many things that are barely supported by WebDriver because it should have consistent design with other browsers. Cuprite is a pure Ruby driver for Capybara based on Ferrum. Vessel high-level web crawling framework based on Ferrum and Mechanize. Install There's no official Chrome or Chromium package for Linux don't install it this way because it's either outdated or unofficial, both are bad. Download it from official source for Chrome or Chromium. Chrome binary should be in the PATH or BROWSER PATH and you can pass it as an option to browser instance see :browser path in Customization. Add this to your Gemfile and run bundle install . Quick Start Navigate to a website and save a screenshot: When you work with browser instance Ferrum creates and maintains a default page for you, in fact all the methods above are sent to the page instance that is created in the default context of the browser instance. You can interact with a page created manually and this is preferred: Evaluate some JavaScript and get full width/height: Do any mouse movements you like: Development Afte","default_branch":null,"files":null,"tree":[],"storefront":"/r/rubycdp","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/rubycdp/ferrum/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}