4

次のコードを記述して、WebDriver にしばらく待機するように依頼できます。

new WebDriverWait(driver, 20).until(ExpectedConditions.presenceOfElementLocated(By.id("loginBox")));

しかし、

実際にAJAXリクエストをサーバーに送信しています。ここでは、20 ミリ秒の待機時間を与えました。20msでも500msでも構いません。応答が所定の時間 (例: 20ms) を超えた場合。次に、そのような要素が見つからないことを例外とします。

サーバーに待機を依頼するより良い方法はありますか?

誰でも私を助けることができますか?

前もって感謝します、Gnik

4

2 に答える 2

5

このコードの実行を続行する前に、employeeName テキスト ボックスが入力されていることを確認できます。

new WebDriverWait(driver,10).until(new ExpectedCondition<Boolean>() {

        public Boolean apply(WebDriver driver) {                
            String text = driver.findElement(By.id("employeeName")).getText();
            return !text.equals("");
        }
    });

このコードは、employeeName テキスト ボックスのテキストが空白かどうかをチェックします。空白の場合、ドライバーは 10 秒間待機するか、AJAX 呼び出しによってテキスト フィールドにデータが入力された場合、実行を続行します。

これが機能しない場合は、AJAX 呼び出しを行っているコードの一部を投稿できます。

于 2012-08-13T07:30:04.543 に答える