2008-02-19

JiffieでIEを操作する

最近、Jiffieなるライブラリの存在を知りました。Java InterFace For Internet Explorerの略でJNIを介してIEをJavaから操作することができます。
ここから実行ファイルをDLして次のJavaプログラムを書いて実行すると、IEが起動して「aiueo」をキーワードにGoogle検索します。

//IEを起動してGoogleを表示する
InternetExplorer ie = new InternetExplorer();
ie.setVisible(true);
ie.navigate("http://www.google.co.jp/");
ie.waitWhileBusy();

//入力ボックスに「aiueo」と入力して送信する
IHTMLDocument2 doc = ie.getDocument(true);
IHTMLInputElement input = doc.getElementByName("q");
input.setValue("aiueo");
IHTMLFormElement form = input.getForm();
form.submit(true);

//検索結果を10秒表示後、終了する。
Thread.sleep(10000);
ie.quit();

Jiffieは基本的なIEの操作以外にも、ページの読み込みやDLなどをハンドリングすることもできます。またJiffieUtility#executeScript()を使って外からスクリプトを実行することも可能です。java.awt.Robotと合わせて使うことで、場面場面の画面キャプチャを撮りながらテストを実行するなんてこともできます。

こういったブラウザ操作の自動化はSeleniumなどの既存のツールで大半のことができてしまうので需要は少ないと思いますが既存のツールで要件を満たせないような場合に役に立つかもしれません。

0 件のコメント: