Webdriver で、テキスト フィールドにテキストが存在するまで待機するよう Webdriver に要求する方法。
実際には、値がデータベースから取得される剣道テキストフィールドが1つあり、ロードに時間がかかります。ロードしたら、さらに先に進むことができます。
これについて助けてください
Webdriver で、テキスト フィールドにテキストが存在するまで待機するよう Webdriver に要求する方法。
実際には、値がデータベースから取得される剣道テキストフィールドが1つあり、ロードに時間がかかります。ロードしたら、さらに先に進むことができます。
これについて助けてください
WebDriverWait を使用できます。ドキュメントの例から:
(new WebDriverWait(driver, 10)).until(new ExpectedCondition<Boolean>() {
public Boolean apply(WebDriver d) {
return d.findElement(...).getText().length() != 0;
}
});
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"));
テキストが来るドライバー オブジェクト webelement と来るテキストを渡す必要がある単純な方法を使用できます。
public static void waitForTextToAppear(WebDriver newDriver, String textToAppear, WebElement element) {
WebDriverWait wait = new WebDriverWait(newDriver,30);
wait.until(ExpectedConditions.textToBePresentInElement(element, textToAppear));
}