CAPSOLVER
Blog
Using Playwright with Ruby: Step-by-Step Guide for 2024

Using Playwright with Ruby: Step-by-Step Guide for 2024

Logo of CapSolver

Lucas Mitchell

Automation Engineer

02-Sep-2024

Using Playwright with Ruby: Step-by-Step Guide for 2024

Web scraping has become an essential skill for developers who need to gather data from websites. Playwright, a powerful browser automation tool, is often used for this purpose. In this guide, we will explore how to use Playwright with Ruby to scrape data from a website. We will walk through a practical example using the website Quotes to Scrape.

Prerequisites

Before we begin, make sure you have the following installed on your machine:

You can install the necessary dependencies by running:

bash Copy
gem install playwright-ruby-client

Setting Up Playwright

After installing the playwright-ruby-client gem, you need to set up Playwright in your Ruby script. Hereโ€™s how you can do it:

ruby Copy
require 'playwright'

Playwright.create(playwright_cli_executable_path: '/path/to/node_modules/.bin/playwright') do |playwright|
  browser = playwright.chromium.launch(headless: false)
  page = browser.new_page
  page.goto('http://quotes.toscrape.com/')
  
  # Example scraping code will go here
  
  browser.close
end

Replace '/path/to/node_modules/.bin/playwright' with the actual path to the Playwright CLI on your system.

Scraping Quotes from the Website

Now, let's write the code to scrape quotes from the website. We will extract the text of each quote and the corresponding author.

ruby Copy
require 'playwright'

Playwright.create(playwright_cli_executable_path: '/path/to/node_modules/.bin/playwright') do |playwright|
  browser = playwright.chromium.launch(headless: false)
  page = browser.new_page
  page.goto('http://quotes.toscrape.com/')
  
  quotes = page.query_selector_all('.quote')

  quotes.each do |quote|
    quote_text = quote.query_selector('.text').text_content.strip
    author = quote.query_selector('.author').text_content.strip
    puts "#{quote_text} - #{author}"
  end

  browser.close
end

Explanation

  1. Navigating to the Website: The script navigates to the http://quotes.toscrape.com/ URL using the page.goto method.
  2. Selecting Quotes: We use page.query_selector_all('.quote') to select all elements that have the class quote.
  3. Extracting Text and Author: For each quote, we extract the text content and the author using the respective selectors.
  4. Output: Finally, we print each quote followed by its author to the console.

Running the Script

You can run this Ruby script from your terminal:

bash Copy
ruby playwright_scraper.rb

Make sure to replace playwright_scraper.rb with the filename of your script.

Handling CAPTCHA Challenges with Playwright and Ruby

CAPTCHA challenges are a common obstacle when scraping websites, designed to differentiate between human users and bots. For developers using Playwright with Ruby, overcoming these challenges is essential to successfully automate data extraction. In this guide, we'll explore how to integrate CAPTCHA solving services using CapSolver with Playwright. Depending on the type of CAPTCHA implemented by the website, you can either configure CapSolver via an extension (the simplest method) or through their API for more advanced use cases.

For detailed instructions on setting up the extension, visit CapSolver Extension Documentation. For API integration, refer to the CapSolver API Documentation.

Conclusion

This guide has shown you how to set up Playwright with Ruby and scrape data from a website. The example used here is simple but can be expanded for more complex tasks. Playwrightโ€™s ability to automate browser tasks makes it a powerful tool for web scraping and testing.

Happy scraping!

Compliance Disclaimer: The information provided on this blog is for informational purposes only. CapSolver is committed to compliance with all applicable laws and regulations. The use of the CapSolver network for illegal, fraudulent, or abusive activities is strictly prohibited and will be investigated. Our captcha-solving solutions enhance user experience while ensuring 100% compliance in helping solve captcha difficulties during public data crawling. We encourage responsible use of our services. For more information, please visit our Terms of Service and Privacy Policy.

More

CAPTCHA AI Powered by Large Models
CAPTCHA AI Powered by Large Models: Why It's More Suitable for Enterprise Scenarios

How AI visual models are reshaping CAPTCHA recognition and why enterprise-grade solvers need data, scale, and custom training.

AI
Logo of CapSolver

Ethan Collins

13-Mar-2026

 Solve AWS WAF in n8n with CapSolver
How to Solve AWS WAF in n8n with CapSolver

Automatically solve AWS WAF invisible CAPTCHAs in your n8n workflows using CapSolver AI โ€” build enterprise-grade scrapers, login automation, and reusable solver APIs without writing a single line of code.

web scraping
Logo of CapSolver

Lucas Mitchell

13-Mar-2026

WebMCP vs MCP: Whatโ€™s the Difference for AI Agents?
WebMCP vs MCP: Whatโ€™s the Difference for AI Agents?

Explore the key differences between WebMCP and MCP for AI agents, understanding their roles in web automation and structured data interaction. Learn how these protocols shape the future of AI agent capabilities.

AI
Logo of CapSolver

Emma Foster

12-Mar-2026

How to Solve Cloudflare Challenge in n8n with CapSolver
How to Solve Cloudflare Challenge in n8n with CapSolver

Build a working Cloudflare Challenge scraper in n8n using CapSolver and a Chromeโ€‘TLS Go server to bypass bot protection.

web scraping
Logo of CapSolver

Ethan Collins

12-Mar-2026

OpenClaw vs. Nanobot
OpenClaw vs. Nanobot: Choosing Your AI Agent for Automation

Compare OpenClaw and Nanobot, two leading AI agent frameworks, for efficient automation. Discover their features, performance, and how CapSolver enhances their capabilities.

AI
Logo of CapSolver

Nikolai Smirnov

11-Mar-2026

Solve reCAPTCHA v2/v3 Using CapSolver and n8n
How to Solve reCAPTCHA v2/v3 Using CapSolver and n8n

Build a eCAPTCHA v2/v3 solver API using CapSolver and n8n. Learn how to automate token solving, submit it to websites, and extract protected data with no coding.

web scraping
Logo of CapSolver

Lucas Mitchell

10-Mar-2026