EnvjsでjQuery

「サーバサイドJavaScriptjQueryスクレイピングhttp://sakuratan.biz/archives/2972 を参考に、Envjs環境を作ろうとしたのですが、手元の環境ではなかなか動かなかったのでメモです。

手元の環境はMacのLionです。

EnvjsはJavaScriptで書かれたブラウザ環境のシミュレーションで、サーバサイドでDOM操作ができるようです。Rhinoで動いています。



1.公式サイトからダウンロード
http://www.envjs.com/
現在の最新:thatcher-env-js-1.2.13-0-gcb738b9.zip

2.解凍して、出来たディレクトリに移動
cd thatcher-env-js-cb738b9

3.ビルド
ant
成功したら、BUILD SUCCESSFULとでます。

javaとantがインストールされている必要があります。

4.jQuery配置
jQueryをthatcher-env-js-cb738b9直下に置きます。最新の1.7系だと動かなかったので古いものを使いました。
curl -O http://code.jquery.com/jquery-1.4.2.min.js

5.テストプログラムを作成
vi test.js

中身

load('dist/env.rhino.js');
console.log(1);
load('jquery-1.4.2.min.js');
console.log(2);
window.location = "http://www.wikipedia.org/";
console.log(3);
jQuery.ready();
console.log(4);
$('.divOtherProjectsItem a').each(function() {
    var obj = $(this);
    console.log(obj.text() + '>>' + obj.attr('href'));
});
console.log(5);

6.実行
java -jar rhino/js.jar -opt -1 test.js

[  Envjs/1.6 (Rhino; U; Mac OS X x86_64 10.7.3; en-US; rv:1.7.0.rc2) Resig/20070309 PilotFish/1.2.13  ]
   1
   2
いろいろエラー
   3
   4
>>//www.wiktionary.org/
Wiktionary>>//www.wiktionary.org/
>>//www.wikinews.org/
Wikinews>>//www.wikinews.org/
>>//www.wikiquote.org/
Wikiquote>>//www.wikiquote.org/
>>//www.wikibooks.org/
Wikibooks>>//www.wikibooks.org/
>>//species.wikimedia.org/
Wikispecies>>//species.wikimedia.org/
>>//www.wikisource.org/
Wikisource>>//www.wikisource.org/
>>//www.wikiversity.org/
Wikiversity>>//www.wikiversity.org/
>>//commons.wikimedia.org/
Commons>>//commons.wikimedia.org/
>>//meta.wikimedia.org/
Meta-Wiki>>//meta.wikimedia.org/
   5

途中エラーがでつつも一応jQueryでDom解析できました。