0

私はタイムアウト例外を取得しており、以下は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 に答える