覚えたことを忘れない為のメモ

watij その2

最終更新:

11rtksn

- view
管理者のみ編集可

javac・javaコマンドで実行。


BeanShell は馴染みが無いので、javac・javaコマンドで動くプログラムに書き換えた。

import watij.runtime.ie.IE;
import static watij.finders.SymbolFactory.url;
import static watij.finders.SymbolFactory.href;
import static watij.finders.SymbolFactory.title;

public class WatijTest{
	public static void main(String args[])throws Exception{
		IE ie = new IE();
		ie.start("http://www.google.com");
		ie.textField(0).set("watij");
		ie.button(0).click();
		
		/*
		 *  href の値が http://watij.com/
		 *  のリンクをクリック。
		 */
		ie.link(href,"http://watij.com/").click();
		
		/*
		 * 第二引数のアドレスと一致したブラウザに
		 * フォーカスを移動させる。
		 * 新しいウィンドウを開いた後、そのウィンドウに
		 * フォーカスを移動させたい時に有効な方法。
		 */
		ie.attach(url,"http://watij.com/");
		
		ie.link(title,"wiki:quick_start").click();
	}
}
textField(),button() メソッドの引き数は int型で指定しないと
google(日本語版)サイトでは、UnknownObjectException になる。
link(href,"http://watij.com/")
link(title,"wiki:quick_start")
上記のメソッドでは SymbolFactory クラスのフィールドを使って
第一引数にHTMLタグの属性を指定。第二引数でその属性の属性値を指定。


環境変数の classpath を以下のように設定。
.;C:\watij\watij.jar;C:\watij\lib
コマンドプロンプトを起動して上記のソースをコンパイル、実行すると、以下のようなエラーが表示された。
C:\home>java WatijTest
Exception in thread "main" java.lang.NoClassDefFoundError: com/jniwrapper/win32/ie/WebBrowser
        at WatijTest2.main(WatijTest.java:8)
8行目で IE クラスをインスタンス化しようとすると、NoClassDefFoundError になる。
classpath で「C:\watij\lib」を指定しているのに、lib フォルダ中にある jar ファイルが見つけられないようだ・・・。
仕方がないので classpath を「C:\watij\lib」とフォルダで指定していたのを、全て「C:\watij\lib\jexplorer-1.7.jar」のように
jar を直接指定するようにしたら上記のエラーは出なくなり、動くようになった。



1|2|3
記事メニュー
目安箱バナー