15

Webdriver で、テキスト フィールドにテキストが存在するまで待機するよう Webdriver に要求する方法。

実際には、値がデータベースから取得される剣道テキストフィールドが1つあり、ロードに時間がかかります。ロードしたら、さらに先に進むことができます。

これについて助けてください

4

6 に答える 6

24

WebDriverWait を使用できます。ドキュメントの例から:

 (new WebDriverWait(driver, 10)).until(new ExpectedCondition<Boolean>() {
            public Boolean apply(WebDriver d) {
                return d.findElement(...).getText().length() != 0;
            }
        });
于 2013-03-27T10:50:35.833 に答える
5

WebDriverWait (org.openqa.selenium.support.ui.WebDriverWait)ExpectedCondition (org.openqa.selenium.support.ui.ExpectedConditions)オブジェクトの使用

WebDriverWait wait = new WebDriverWait(driver, 30);
wait.until(ExpectedConditions.textToBePresentInElementLocated(By.id("element_id"), "The Text"));
于 2013-03-28T14:25:05.163 に答える
3

テキストが来るドライバー オブジェクト webelement と来るテキストを渡す必要がある単純な方法を使用できます。

public static void waitForTextToAppear(WebDriver newDriver, String textToAppear, WebElement element) {
    WebDriverWait wait = new WebDriverWait(newDriver,30);
    wait.until(ExpectedConditions.textToBePresentInElement(element, textToAppear));
}
于 2014-08-07T04:51:02.060 に答える