前回に引き続きphantomjsのQuickStartを参考にCoffeeScriptを書いてみる。
■説明
・Loading & Rendering
Loadingの説明を見ているといくつかポイントが見えてきます。
・コマンドライン引数に指定されたスクリプトは、複数回呼び出される
※phantom.exit()するまで
・phantom.stateは値が維持されるので、初回呼び出しかどうか判断可能
初回は空文字列
・phantom.openは引数で指定されたページを読み込む
読み込み終了までblockingされる
・phantom.loadStatusはphantom.open後の状態が保持される
"success" もしくは "fail"
という訳で、LoadPage(とRendering)をCoffeeScriptで書いてみます。
$ vim google.coffee
LoadPage = (name, url, action) ->
if !phantom.state
phantom.state = name
phantom.open url
else
action()
phantom.exit()
LoadPage "google", "http://www.google.co.jp", ->
phantom.render "#{phantom.state}.png"
$ phantomjs google.coffee
$ ls google*
google.coffee google.png
ちゃんと出来ました!なおphantom.viewportSizeの設定をしないとwidth/heightは適当な値になるようです
ちなみにdom treeは読み込み後documentオブジェクトを操作できます。
LoadPage "google", "http://www.google.co.jp", ->
console.log document.getElementById("prm").innerText
$ phantomjs google.coffee
世界中から寄せられた日本へのメッセージが日本語で見られるサイトを開設しました。
■参照
phantomjsのQuickStart
■雑感
次回は本当にCIができたらな~と思いつつ(ゴールは近いはず)

0 件のコメント:
コメントを投稿