Custom wait functionality for detecting elements in a WebPage

The below one is a custom wait functionality that can be used to detect element in Selenium.And it’s usage has been also declared below.

All we have to do is declare this as part of a static class and use it somewhere

Real Function:

//Usage- LongLongWaitTime can be declared somewhere
Browser.FindElement(By.XPath("//div[@id='totalrow']"), LongLongWaitTime).Click()

//You can also pass seconds
Browser.FindElement(By.ID("totalrow"), 30).Click()


//Function

public static IWebElement FindElement(this IWebDriver driver, By by, int timeoutInSeconds)
 {
       if (timeoutInSeconds > 0)
       {
           var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(timeoutInSeconds));
           return wait.Until(drv => drv.FindElement(by));
        }
        else
        {
           var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
           return wait.Until(drv => drv.FindElement(by));
        }
        
  }

 

You may also like...