Ruby/Webブラウザをコントロールする

Ruby/Webブラウザをコントロールする

バージョンと製造年月日

2012-03-05

インストールWindows編

Rubyのインストール

DownloadsここからRuby本体のインストーラーをダウンロードしてインストールする。

今回使ったのは1.9.2

完了

DevKitのインストール

今回使うライブラリがffiというコンパイルが必要なライブラリを使うためにDevKitというもののインストールが必要になる。

同じくDownloadsここからDevelopment Kitというやつをダウンロードする。 今回使ったのは4.5.2

7zipで圧縮されているので解凍する。中にdk.rbというファイルがあるので

ruby dk.rb init
ruby dk.rb revview
ruby dk.rb install

と引数を変えてドンドンドンと実行するとインストール完了

Selenium Webdriverのインストール

gem install selenium-webdriver

でインストール完了

実行

Selenium 2.0 and WebDriver — Selenium Documentation ここらへんのサンプルコードを参考に

require 'rubygems'
require 'selenium-webdriver'
 
driver = Selenium::WebDriver.for :firefox
driver.get "http://google.com"
 
element = driver.find_element :name => "q"
element.send_keys "Cheese!"
element.submit
 
puts "Page title is #{driver.title}"
 
wait = Selenium::WebDriver::Wait.new(:timeout => 10)
wait.until { driver.title.downcase.start_with? "cheese!" }
 
puts "Page title is #{driver.title}"
driver.quit

と書いて実行すると!

Firefoxが立ち上がってgoogleでcheese!という検索をやればOK

Webページのスクリーンショットを撮る

縦に長いウェブページのスクリーンショットを撮る場合はwatir-webdriverというモジュールを使うといいようだ。 watirというWebのスクリーンショットを撮るモジュールのwebdriver移植版ってことかな

とりあえずブッコム

gem install watir-webdriver

そんでこんな感じ

require 'watir-webdriver'
browser = Watir::Browser.new
browser.goto(url)
browser.driver.save_screenshot("screenshot.png")

やると な感じで取れる

このbrowser.driver

driver = Selenium::WebDriver.for :firefox

とほぼ同等なので、同時にいろいろやりたい時はこれを使えばよい

タグ

ruby/web_browser_control.txt · 最終更新: 2012-06-06 10:06 by ore