、FluentWaitを使用しては、最も信頼性の高いアプローチです。あなたは私たちで管理者の制御下に入ったときにコントロールの関連するHTMLのDOM(テキストボックス、チェックボックス、ドロップダウン)を共有することはできdriver.findElement(By)
を使用してチャックし、代わりに、そのようなBasePage.class
public class BasePage {
WebDriver driver;
public BasePage(WebDriver driver) {
this.driver = driver;
}
public WebElement getElement(By locator) {
// Waiting 30 seconds for an element to be present on the page, checking
// for its presence once every 5 seconds.
Wait wait = new FluentWait(driver)
.withTimeout(30, SECONDS)
.pollingEvery(5, SECONDS)
.ignoring(NoSuchElementException.class);
// Get the web element
WebElement element = wait.until(new Function() {
public WebElement apply(WebDriver driver) {
return driver.findElement(By.id("foo"));
}
});
return element;
}
}
として一般にアクセスクラスのメソッド
getElement(By)
を作成する必要があります「有効」と「無効」になるのはどうですか? – DebanjanB