在C#中使用webdriver处理延迟加载

时间:2013-05-20 09:14:44

标签: c# webdriver selenium-webdriver

我正在尝试使用C#在页面对象模型中使用webdriver测试单页Web应用程序。网站javascript密集和懒惰加载 我已尝试使用显式等待并使用以下代码检查javascript是否处于活动状态

return jQuery.active == 0

我尝试使用两者的组合来了解页面是否已加载

WebDriverWait _wait = new WebDriverWait(Driver, TimeSpan.FromSeconds(25));
    bool WhenToExit = true;
            while (WhenToExit) // Handle timeout somewhere
            {
                var ajaxIsComplete = (bool)(Browser.Driver as IJavaScriptExecutor).ExecuteScript("return jQuery.active == 0");
                if (ajaxIsComplete)
                {


                    bool isDisplayed = _wait.Until(d => d.FindElement(By.ClassName("example"))).Displayed;

                    if(isDisplayed)
                    {
                    break;
                    }
                }
                Thread.Sleep(100);
                int Timer = 0;
                Timer++;
                if (Timer == 100)
                {
                    WhenToExit = false;
                }
            }

。但是webdriver仍然没有等待页面加载,它只是继续执行步骤,所以我被迫使用Thread.Sleep(),我不想使用它并不是很好的做法。 /> 有人可以告诉我如何解决这个问题,提前谢谢你

0 个答案:

没有答案