Selenium显式等待设置自定义调用间隔?

时间:2014-02-25 22:25:25

标签: c# selenium

我使用以下代码from here(C#版本):

WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
IWebElement myDynamicElement = wait.Until<IWebElement>((d) =>
    {
        return d.FindElement(By.Id("someDynamicElement"));
    });

该片段下面的文档说:

  

默认情况下,WebDriverWait每500毫秒调用一次ExpectedCondition,直到它成功返回。

如何修改此处的代码以包含不同的等待时间,例如10毫秒?

2 个答案:

答案 0 :(得分:5)

您可以为WebDriverWait的特定实例设置轮询间隔,以下代码将等待20秒以定位元素并每200毫秒轮询一次。

WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(20));

wait.PollingInterval = TimeSpan.FromMilliseconds(200);

IWebElement myDynamicElement = wait.Until<IWebElement>((d) =>
{
return d.FindElement(By.Id("someDynamicElement"));
});

答案 1 :(得分:3)

DefaultWait有轮询间隔。

DefaultWait<IWebDriver> wait = new DefaultWait(driver);
wait.PollingInterval = TimeSpan.FromMilliseconds(10);