Skip to content

Capybara

Capybara is a test framework for web applications which adds a nice API that also works well for web scraping.

Wayfarer.config[:network][:agent] = :capybara
# Wayfarer.config[:capybara][:driver] = ...

class DummyJob < Wayfarer::Worker
  route.to :index

  def index
    browser # => #<Capybara::Session ...>
  end
end

Example: Automating Chrome with Cuprite and Ferrum

  1. Install the Curpite Capybara driver:

    gem install cuprite
    
    gem "cuprite" # Gemfile
    
  2. Configure Wayfarer to use the :capybara user agent and set the driver:

    Wayfarer.config[:network][:agent] = :capybara
    Wayfarer.config[:capybara][:driver] = :cuprite
    
    WAYFARER_NETWORK_AGENT=capybara
    WAYFARER_CAPYBARA_DRIVER=cuprite
    
  3. Register the driver with Capybara:

    require "capybara/cuprite"
    
    Capybara.javascript_driver = :cuprite
    
    Capybara.register_driver(:cuprite) do |app|
      # Wayfarer's Ferrum or Selenium options can be passed along
      Capybara::Cuprite::Driver.new(app, Wayfarer.config[:ferrum][:options])
    end