セレンWebドライバーを使用してsmartgwtアプリケーションをテストしています。これは、次のようなsmartgwtウィジェットで非常にうまく機能します。
JavascriptExecutor executor = (JavascriptExecutor) context;
return (WebElement) executor.executeScript("return AutoTest.getElement(arguments[0]);", location);
上記の場合、場所は次のようになります//IButton[id=isc_button]/
ただし、smartgwtウィジェットではない「基本的な」html要素もページにいくつかありますが、それらにはIDがあります。したがって、これらを次のように実行しようとしました(上記はこれらの要素では機能しないため)。
JavascriptExecutor executor = (JavascriptExecutor) context;
executor.executeScript("return document.getElementById(arguments[0]);", location);
ただし、これは機能しません。Firebugを使用しても、指定されたIDで存在することがわかっている要素を試しdocument.getElementById('xxx')
ましたが(firebugのhtmlタブのインスペクターで見つけることができます)、それも機能しませんでした。
誰かがその理由を知っていますか、そして生成されたDOMツリー内のjavascriptを介して単純なhtml要素に到達することはどのように可能ですか?
ありがとう!