前回に引き続き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 件のコメント:
コメントを投稿