副業のクローリング依頼で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