Selenium不会长时间超时工作

时间:2014-10-05 15:40:22

标签: c# selenium

我在C#编写代码使用Selenium测试功能。目标是在一个字段中放置一些文本,按一个按钮,等待几次后该网站显示其他表单。但我的代码非常奇怪。如果时间很短:它完美无缺。但如果时间超过30秒,则会抛出异常。这是我的代码的一部分,当页面由Ajax数据加载并在页面中显示时等待:

while (true)
{
    try
    {
        driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(5));
        IWebElement myDynamicElement = driver.FindElement(By.Id("smapxml"));
        Console.WriteLine("Done");
        if (myDynamicElement != null)
        {
            Console.WriteLine("Ok. Element not null. Follow next step.");
            break;
        }

    }
    catch (Exception error)
    {
        Console.WriteLine("error."+error.ToString());
        return;
    }
}

例外:

OpenQA.Selenium.NoSuchElementException: Unable to locate element: {"method":"id","selector":"smapxml"}
   in OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse) in c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 1092

那么我该如何解决这个问题呢?

0 个答案:

没有答案