internal static IWebElement PeekElement(this IWebDriver driver, WebElement webElement, int seconds = 1)
 {
     using (ImplicitWaitContext.Create(TimeSpan.FromSeconds(seconds)))
     {
         return(webElement.Element);
     }
 }
        public static Func <IWebDriver, bool> ExpectedConditions_ElementIsVisible(WebElement webElement)
        {
            return(driver => TryAction(driver, webElement.Identifier, "ExpectedConditions_ElementIsVisible",
                                       (seleniumDriver, elementLocator, actionName) =>
            {
                IWebElement targetElement = driver.PeekElement(webElement);

                if (targetElement == null)
                {
                    LogElemNotFound();
                    return false;
                }
                bool result;
                using (ImplicitWaitContext.Create(TimeSpan.FromSeconds(1)))
                {
                    result = targetElement.Displayed;
                }
                Log.Info(string.Format("{0} {1} = {2}", actionName, webElement.Identifier, result));

                return result;
            }));
        }