Created
December 13, 2011 03:29
-
-
Save takano32/1470412 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /usr/bin/env ruby | |
# vim: set et sts=2 sw=2 ts=2 fdm=marker ft=ruby : | |
# author: takano32 <tak@no32 dot tk> | |
# | |
require 'rubygems' | |
require 'pit' | |
# ブラウザの起動とかを見えないようにできるけど、Xvfbとか必要 | |
# Darwinじゃ使えないかもしれない。 | |
# require 'headless' | |
require 'capybara' | |
# capybaraで書いたロジックを実行するWebDriverとしてMechanizeも選べる。 | |
#require 'capybara/mechanize' | |
require 'capybara/dsl' | |
require 'uri' | |
# visit とか with とか fill_in みたいなのが簡単に呼べる。 | |
# きちんと名前空間とか指定する派の人はインクルード不要 | |
include Capybara::DSL | |
# まあ、コミットしたりするときにパスワードコミットしちゃうとアレ。 | |
config = | |
Pit.get("hatena", | |
:require => { | |
'login-name' => 'your hatena login name', | |
'password' => 'your hatena password', | |
}) | |
# 今回は Selenium WebDriver で動かします。 | |
# みためにもモリモリ動いて面白いですし。 | |
Capybara.run_server = false | |
Capybara.default_driver = :selenium | |
# ログインのページにジャンプします。 | |
visit('https://www.hatena.ne.jp/login') | |
# ログインフォームについての処理をブロックで書ける。 | |
within('form') do | |
# はてなIDとパスワードを自動入力します。 | |
fill_in 'login-name', :with => config['login-name'] | |
fill_in 'password', :with => config['password'] | |
# ログインボタンを探してクリック | |
find('input.submit').click | |
end | |
# ログイン完了!を確認するために15秒くらい待ってみますか。 | |
sleep 15 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment