1

期間限定でアクションを実行する方法を知っていますか? 私の場合、webdriver を使用しています。フォーム アクションが適切に実行されていることを検証したときに、ページがループで実行されます。クリックした後、10 秒待ってから、ページを強制的に更新したいと思います。

// action that I would leave after 10 seconds
driver.findElement(By.id("submit")).click();    

driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.navigate().refresh(); 

クリックした後、10秒後に次のステップに進みます。応答がないため、治療がブロックされているためです。応答がなくても次の行に移動したいです。

助けてくれてありがとう。

4

3 に答える 3

3

暗黙的待機または明示的待機を使用すると、10 秒間待機しないため、送信がクリックされて次に実行するアクションが更新された後の待機には、Thread.sleep(10000) のみを使用します。次のアクション ボタンが表示されるまで待機します。サーバーからの応答時間に応じて、2 秒、5 秒、または 8 秒になる場合があります。したがって、Thread.sleep(10000) を使用することをお勧めします。

于 2013-02-08T13:00:16.283 に答える
0

更新を実行した後、ページ上の要素が読み込まれるのを待つだけの方がはるかに望ましいでしょう。これは、常に10 秒間待機しているわけではなく、ページのリロード後にアクションを続行することを意味します。
または、Thread.Sleep(10000) は、Smit がコメントで提案したように 10 秒待機します。

于 2013-02-08T00:32:02.467 に答える
0

私の提案はThread.sleep()、推奨されるものではありません。SeleniumImplicit WaitExplicit Wait.

Referenceの投稿を参照してください。

于 2013-02-08T05:34:58.783 に答える