ページ

2015年12月29日火曜日

Ruby+Seleniumでブラウザ自動操作


ブラウザの自動操作ができるseleniumをrubyでサクッと使ってみる

   Gemのインストール


gemで提供されているので早速インストール
$ bundle init
$ vim Gemfile
Gemfileを以下の内容に修正
source "https://rubygems.org"
gem "selenium-webdriver"
インストール
$ bundle install --path vendor/bundle

   ブラウザ起動と終了


まずは、単純にブラウザを起動して終了するだけのシンプルなものを作成します
↓の内容でmain.rbを作成
# coding: utf-8
require 'selenium-webdriver'

driver = Selenium::WebDriver.for :firefox # ブラウザ起動
driver.quit # ブラウザ終了
早速実行してみます
※ブラウザFirefoxがインストール済み前提
$ bundle exec ruby main.rb
Firefoxが起動して終了すれば成功

   検索の自動化


次はブラウザを起動して指定したキーワードで検索し、検索結果を
スクリーンショットで保存してみたいと思います。
先ほどのmain.rbを以下内容に変更
# coding: utf-8
require 'selenium-webdriver'

driver = Selenium::WebDriver.for :firefox # ブラウザ起動
driver.navigate.to 'http://www.yahoo.co.jp/' # URLを開く

# テキストフィールドへ入力
element = driver.find_element(:id, 'srchtxt')
element.send_keys('Selenium')

# 検索ボタンをクリック
driver.find_elements(:id, 'srchbtn')[0].click
driver.save_screenshot('./screenshot.png') # スクリーンショットを保存
driver.quit # ブラウザ終了
いざ実行!! ↓のように起動しキーワードを検索すれば成功
optimaize
保存されたスクリーンショットがこちら↓

0 件のコメント:

コメントを投稿