Selenium C# WebDriver: Wait until element is present

前端 未结 24 3061
礼貌的吻别
礼貌的吻别 2020-11-22 08:53

I want to make sure that an element is present before the webdriver starts doing stuff.

I\'m trying to get something like this to work:

WebDriverWait w         


        
24条回答
  •  野趣味
    野趣味 (楼主)
    2020-11-22 09:50

    This is the reusable function to wait for an element present in DOM using Explicit Wait.

    public void WaitForElement(IWebElement element, int timeout = 2)
    {
        WebDriverWait wait = new WebDriverWait(webDriver, TimeSpan.FromMinutes(timeout));
        wait.IgnoreExceptionTypes(typeof(NoSuchElementException));
        wait.IgnoreExceptionTypes(typeof(StaleElementReferenceException));
        wait.Until(driver =>
        {
            try
            {
                return element.Displayed;
            }
            catch (Exception)
            {
                return false;
            }
        });
    }
    

提交回复
热议问题