explicitely wait selenium code example

Example: how to waitselenium webelement java

//required import
WebDriver driver = new ChromeDriver();
//											  Timeout in seconds
WebDriverWait wait = new WebDriverWait(driver, 15);

//Three most common explicit waits

//waits until the element is visible and can be clicked
wait.until(ExpectedConditions.elementToBeClickable(By.id("button1")));

//waits until the element is visible on the page somewhere i.e. pixels > 0
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("text_box1")));

//waits until the element is removed from the page
//This one is helpful when moving from one page to another
wait.until(ExpectedConditions.invisibilityOfElementLocated(By.id("text_box1")));

//implicit wait will wait a set time, similar to Thread.sleep();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

//There is also a FluentWait, but I am unfamiliar with it