ボクココ

個人開発に関するテックブログ

CasperJS でHTML要素を取得する便利な方法


最近は便利ツールを作るためのスクレイピングを実装中。
そこでJenkinsをCasperJSと連携させたりしているのだけど、一部のサイトではログイン処理がどうしてもうまくいかず、今回はBookmarkletとして作ることにした。
これが意外と便利だったので共有。

casperjs


CasperJSでは要素を取ってくるのにCasperUtilsというのを使って find しにいく。
毎回プログラムで書いてCasperJSで実行して・・というのは面倒。 ということで提供されているのが、今回紹介するブックマークレット

そのブックマークレット本家のサイトで提供されているので、そちらから。


使い方
スクレイピングしたいページに行き、このブックマークレットをクリックします。
するとCasperUtilsがロードされた状態になるので、
後はChromeなりFirefoxのコンソールで


__utils__.findAll('#dashboard_pages > .page:nth-child(' + i + ') .ReportTable
などと叩くと結果が返ってくる。
Consoleで試しながら作って最終的にCasperJS用のファイルを作るのが最も効率が良い。


スクレイピングツールに関しては、自分もIE専用のスクレイピングツールを作っていたけど、やっぱCasperJSのほうが楽で高機能でいいね。