phantomjs(casperjs)を実験中

※この記事のソースは未実行で載せています。

仕事で作っているシステムはパッケージなのですが、
お客さんごとにカスタマイズして販売しています。

全く新しい画面を作ることもありますが、
全く変えない画面もあります。

どちらかというと、変えない画面の簡易テストおよびデータ投入を楽にしようと思って
phantomjsに目をつけました。

Casperjsのインストール(windows編)
API Documentation
【連載】CasperJS でスクレイピング (1) – CasperJS の基本

上記のあたりを参考にしつつ
画面を開いてキャプチャを取るところから始めました。

まず困ったのが
うちのシステム、ポップアップ画面が多いのです!
開いた画面のキャプチャは撮れたけど
そこから子画面のキャプチャなんて撮れるのかなヽ(´Д`;≡;´Д`)丿 アワワ
となりましたが、バッチリ対応されておりました!

関係あるのはwaitforpopupとwithpopupあたりです!
http://casperjs.readthedocs.org/en/latest/modules/casper.html#waitforpopup
http://casperjs.readthedocs.org/en/latest/modules/casper.html#withpopup

ポップアップ画面のURLが
http://localhost/childpop/1
だった場合、

URLの正規表現で理解してくれるなんてなんて賢いんだヽ(*´∀`*)ノ.+゚
これで記念撮影完了です!

どうしても描画が遅い画面があって
ちゃんと画面が開いてからキャプチャを撮りたかったので
waitを入れたりしたのですが、
素直に縦に並べて書くと、僕が求めてる結果にならなかったんですよね(´・_ゝ・`)

結局waitのcallbackでcaptureを実行しました。

↓こんな感じ(うろ覚え)

試行錯誤しながらだったので別のところがミスってるかもしれないですね!

  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。