1.pageLoadTimeout
driver.manage().timeouts().pageLoadTimeout(60, TimeUnit.SECONDS);
2.
WebDriver.Timeouts | implicitlyWait(long time, java.util.concurrent.TimeUnit unit)
Specifies the amount of time the driver should wait when searching for an element if it is not immediately present.
|
WebDriver.Timeouts | pageLoadTimeout(long time, java.util.concurrent.TimeUnit unit)
Sets the amount of time to wait for a page load to complete before throwing an error.
|
WebDriver.Timeouts | setScriptTimeout(long time, java.util.concurrent.TimeUnit unit)
Sets the amount of time to wait for an asynchronous script to finish execution before throwing an error.
|
2.directly wait for page load after click on button/link
WebElement element = new WebDriverWait(driver,30).until(ExpectedConditions.elementToBeClickable(By.cssSelector("a[id*='DERIVED_REGFRM1_LINK_ADD_ENRL'][class='SSSBUTTON_CONFIRMLINK']")));
3. Custom waitForPageLoaded function is used when page content is dynamicloaded by some scripts. Which should be called after your webdriver opens specific page or clicks on button/link that does the page open action.
publicvoid waitForPageLoaded(WebDriver driver) {
ExpectedCondition<Boolean> expectation =new ExpectedCondition<Boolean>() {
public Boolean apply(WebDriver driver) {
return ((JavascriptExecutor)driver).executeScript("returndocument.readyState").equals("complete");
}
};
Wait<WebDriver> wait = new WebDriverWait(driver,30);
try {
wait.until(expectation);
} catch(Throwable error) {
assertFalse("Timeout waiting forPage Load Request to complete.",true);
}
}
4.
- Thread.sleep(5000L);