【Selenium】Rubyでウェブページのスクリーンショット

最近Seleniumにハマっています。以下のようにするとスクリーンショットも撮影できてしまいます。

1
2
3
4
5
6
7
8
require "selenium-webdriver"

driver = Selenium::WebDriver.for :safari
driver.get("http://ytkyk.info/blog")
driver.save_screenshot("blog.png")
driver.quit

save_screenshotメソッドで保存したスクリーンショットには、以下のようにブラウザのインタフェースは除外され、ウェブサイトの領域のみ記録されます。自分でブラウザインタフェースをトリミングする必要がないので楽です。

それで、いろいろな人にSeleniumをもっと簡単に使ってもらえるよう、Zirconiumというラッパーを作成しています。SeleniumのAPIを簡単化したRuby DSLを提供するとともに、あるユーザーが作成した自動化スクリプトを、githubやhttp経由でimportする機能も備えています。もう少し試験したら、入門の記事を投稿する予定です。お楽しみに。(20150207時点でも、githubのプロジェクトページにはそれなりにReadme.mdがあるので、Rubyが使える人なら自分でインストールして動作を試すことは出来ると思います)

Zirconium - github.com/yuasatakayuki - ブラウザ操作の自動化用Ruby DSL環境