覚えたことを忘れない為のメモ
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 を直接指定するようにしたら上記のエラーは出なくなり、動くようになった。