副業のクローリング依頼でSeleniumを動かさなければいけなそうな案件があった。スニペットのメモ。

# encoding: utf-8
require 'selenium-webdriver'

# Chrome DriverをCMDから起動後Local経由でアクセス
driver = Selenium::WebDriver::Driver.for(:remote, url: "http://localhost:9515")

# Timeoutの設定
driver.manage.timeouts.implicit_wait = 10

# URLの取得
driver.get "https://www.google.com"

# フォーム > Input要素の選択
element = driver.find_element(:name, 'q')

# キー入力からのSubmit
element.send_keys('プリコネ 衣之咲璃乃')
element.submit

# 収集要素の取得
titles = driver.find_elements(:tag_name, 'h3')

# 出力
titles.each do |title|
  if !title.nil?
    puts title.text
  end
end