0

什么是最好的使用方法我得到了 Timeout excption,下面是我用于 FindElement 的代码。

如果我使用 Thread.Sleep(8000) 或 6000 它作为例外工作,但它分散在我的代码中并且难以维护......这个问题有什么优雅的解决方案吗?

    public IWebElement GetFindElement(By locator)
    {
        WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(20));
        IWebElement myDynamicElement = wait.Until<IWebElement>((d) =>
        {
            return d.FindElement(locator);
        });
        return myDynamicElement;
    }

错误:

[System.TimeoutException] = {"Timed out after 20 seconds"}
4

1 回答 1

1

尽量避免 thread.sleep 结构。我可以推荐使用隐式等待

protected static void ImplicitlyWait(int timeToWait)
    {
        _driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(timeToWait));
    }
于 2012-09-26T06:59:22.853 回答