動かざることバグの如し

近づきたいよ 君の理想に

RubyでSelenium+Capybaraで簡単スクレイピング

環境

  • Ruby 2.x
  • Capybara 3.28.0

やりたいこと

Selenium構文ツラいからCapybara使いたい人生だった(使った

require "selenium-webdriver"
require "capybara"
require "capybara/dsl"
include Capybara::DSL

Capybara.configure do |capybara_config|
  capybara_config.default_driver = :selenium_chrome
  capybara_config.default_max_wait_time = 10
end

ua = "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36"
Capybara.register_driver :selenium_chrome do |app|
  options = Selenium::WebDriver::Chrome::Options.new(
    binary: "/Applications/Chromium.app/Contents/MacOS/Chromium",
    args: ["--headless", "--disable-gpu", "window-size=1280x800"],
  )
  Capybara::Selenium::Driver.new(app, browser: :chrome, options: options)
end

Capybara.javascript_driver = :selenium_chrome

# Yahooで検索してスクリーンショットを取得
visit "https://www.yahoo.co.jp"
find("#srchtxt").set("ruby")
find("#srchbtn").click
page.save_screenshot("ss.png", full: true)