6

私は Web アプリケーションのテストを作成していますが、メニューからオプションを選択する必要があり、ホバーまたはクリックするとそのオプションがドロップダウン リストを表示するまで、すべてがうまくいきました。ドロップダウン リストからオプションをクリックすると、次のエラーが表示されます。

MoveTargetOutOfBoundsException: Element cannot be scrolled into view

このエラーの内容と、コードで何を探すべきかを知っている人はいますか?

Selenium バージョン 2.25.0、Java バージョン 1.6.0_31

古いバージョンでのこの問題に関して、いくつかのセレンとグーグルのグループをチェックしています https://groups.google.com/forum/?fromgroups=#!topic/selenium-users/EuZ7a6_lB9Q http://code.google.com/ p/selenium/issues/detail?id=3075 http://code.google.com/p/selenium/issues/detail?id=4102

最近の議論

Selenium 2.25.0 の既知の問題ですか、それとも修正する方法はありますか? 最近 Firefox 15.0 にアップグレードしました :|

注: 誰かが魔法のようにこれを修正するまで、一時的な解決策を見つけました...問題がどこにあるかを見つけることができないため...コードがクラッシュするポイントの前にコードを実行し、10 秒間スリープ状態にします。手動でメニューをクリックし、ドロップダウン リストからオプションをクリックすると、必要なウィンドウが表示され、コードはその時点からアクションを続行します。今のところ動作します...Selenium IDEでスクリプトを実行できるとは信じられませんが、WebDriverでJavaコードを実行できないため、これが修正されることを願っています...これはクレイジーです:|

4

2 に答える 2

3

ドロップダウンから要素をクリックしようとしていると思います。Selenium は、正確な人間の動作を再現するのに役立つことに注意してください。したがって、要素が表示されないためにコードが失敗する場合は、おそらく要素が表示されないことが原因です。

それを機能させるには、失敗したコードの前にクリック コマンドをメニューに配置することをお勧めします。(スリープ 10 秒を手動で複製するには、使用しているメニュー ボタンの方法をクリックします)

繰り返しになりますが、コードとメニュー セクションの HTML スニペットを提示していただければ、正確な解決策を提供できます。

于 2012-08-31T14:59:08.683 に答える
0

選択ボックスを開いているときに、新しいポップアップウィンドウを開いている可能性があります。これはあなたを助けるかもしれません:

WebDriver.FindElement(By.Id("someInputBox")).SendKeys("hello");
(IJavaScriptExecutor)WebDriver).ExecuteScript("document.getElementById('windowOpener_Button').click();");
WebDriver.SwitchTo().Window("newDisplayedWindowPopupName"); // continue to test
于 2018-10-31T13:03:46.317 に答える