覚えたことを忘れない為のメモ
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 になる。
google(日本語版)サイトでは、UnknownObjectException になる。
link(href,"http://watij.com/") link(title,"wiki:quick_start")
上記のメソッドでは SymbolFactory クラスのフィールドを使って
第一引数にHTMLタグの属性を指定。第二引数でその属性の属性値を指定。
第一引数に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 を直接指定するようにしたら上記のエラーは出なくなり、動くようになった。
classpath で「C:\watij\lib」を指定しているのに、lib フォルダ中にある jar ファイルが見つけられないようだ・・・。
仕方がないので classpath を「C:\watij\lib」とフォルダで指定していたのを、全て「C:\watij\lib\jexplorer-1.7.jar」のように
jar を直接指定するようにしたら上記のエラーは出なくなり、動くようになった。