1

次のjavascriptを使用して、SeleniumでgetEvalを実行しています:

document.getElementById("j_id0:j_id3:mainBlock:j_id40").children[0].children[0].children[0].children[0].children[0].children[0] .children[2].children[0].children[0].children[0] .children[0].children[1];

コンソールでコードを実行すると、正しい結果が返されます。

検索する必要がある要素が存在するページに移動し、Selenium の [検索] ボタンをクリックすると、正しい要素が検索されて強調表示されます。しかし、実際にSeleniumで行を実行すると、正しいページに移動してその行のみを実行しても、次のメッセージが表示されます

[error]Threw an exception: document.getElementById(...)is null

これを正しく機能させるにはどうすればよいですか?

4

1 に答える 1

2

実際のJSステートメントが開始される前にthis.browserbot.getUserWindow()を含めて試してみてください。

selenium.getEval("this.browserbot.getUserWindow().document.getElementById("j_id0:j_id3:mainBlock:j_id40").children[0].children[0].children[0].children[0].children[0].children[0] .children[2].children[0].children[0].children[0] .children[0].children[1]")
于 2013-03-27T07:42:46.190 に答える