こんな感じです。
require "selenium-webdriver" options = Selenium::WebDriver::Firefox::Options.new(args: ["--headless"]) driver = Selenium::WebDriver.for :firefox, options: options driver.navigate.to "https://www.yahoo.co.jp" puts driver.title driver.save_screenshot("screenshot.png") File.write("index.html",driver.page_source)
もう少しruby的にしてみましょうか?
require "selenium-webdriver" class Web def initialize(url) @url = url.clone @ng = nil begin urlget rescue => ex @ng = ex end end def urlget options = Selenium::WebDriver::Firefox::Options.new(args: ["--headless"]) @driver = Selenium::WebDriver.for :firefox, options: options @driver.navigate.to @url @title = @driver.title end def title @title end def screenshot(fn) @driver.save_screenshot(fn) end def write(fn) File.write(fn,@driver.page_source) end end ############ c = Web.new("https://www.yahoo.co.jp") p c.title c.screenshot("yahoo.png") c.write("yahoo.html")
こんな感じかな?