Difference Between Implicit Wait and Explicit Wait

Implicit Wait – 

An implicit wait is to tell WebDriver to stop the DOM for a certain amount of time. The default setting is 0. 

Syntax – driver.manage().timeouts().Implicitly Wait(10, TimeUnit.SECONDS); 

Explicit Wait - 

An explicit waits is code you define to wait for a certain condition to occur before proceeding further in the code. 

Syntax - 

WebDriverWait wait = new WebDriverWait(driver, 10);