" OpenQA.Selenium.WebDriverTimeoutException:' 40秒后超时'

时间:2017-11-03 18:59:02

标签: c# selenium

我试图在Selenuim中使用C#代码建立一个网站,在Username之后它会收到消息的时间

  

OpenQA.Selenium.WebDriverTimeoutException:' 40秒后超时'

这是我提到的代码。

  //Enter user info
  SetMethods.EnterText(driver, "Username", "svedanth", "ID");
  SetMethods.EnterText(driver, "Password", "openopen", "ID");

  SetMethods.Click(driver, "Next", "ID");

  //Thread.Sleep(TimeSpan.FromSeconds(5));
  wait.Until(ExpectedConditions.VisibilityOfAllElementsLocatedBy(
  By.XPath(".//*[@id='logOnContainer']/form/div[1]/button")));

1 个答案:

答案 0 :(得分:0)

像这样创建一个新的WebDriverWait:

WebDriverWait customWait = new WebDriverWait(driver,TimeSpan.FromMinutes(5));

并做

customWait.Until(ExpectedConditions.VisibilityOfAllElementsLocatedBy(By.XPath(".//*[@id='logOnContainer']/form/div[1]/button")));

当您在代码中的某个时刻初始化等待时,您可能会将超时设置为40秒。

你遇到问题的原因是因为40秒后你的元素仍然不可见。在它们全部可见后,程序停止“等待”并继续执行其余代码。

如果愿意,可以通过更改我在示例中给出的TimeSpan来设置自己的超时。