'waitForPageToLoad'/'waitForElementPresent' - 如何在Selenium2中使用? (C#)

时间:2011-04-19 16:31:04

标签: c# selenium-webdriver

伙计们,我对waitForPageToLoad condtion有疑问。我正在使用C#和Nunit,我不知道应该使用什么而不是'waitForPageToLoad'/'waitForElementPresent'。也许有人知道如何在Selenium 2中使用'waitForPageToLoad'/'waitForElementPresent'?

3 个答案:

答案 0 :(得分:0)

ISelenium selenium = new DefaultSelenium( "localhost", 4444, "*chrome", "
    http://localhost/UrlOfAppToTest/" );
selenium.WaitForPageToLoad( "30000" );

这就是你要找的东西吗?

答案 1 :(得分:0)

我在新页面上使用FindElement()。包含在一个循环中,该循环将一直尝试,直到找到该元素,并且等待最多。

// pseudocode WebElement wait_for_element(By locator)
while (!timeout) {
  try {
    return driver.FindElement(locator);
  } catch (Exception) {
    Thread.sleep(1000);
  }
  // check for timeout here
}
throw new NoSuchElementException("Timeout waiting for "+locator);

答案 2 :(得分:0)

您可以使用显式等待方法等待您的操作/页面加载。 有了它,您可以指定要满足的条件,当它满足时,您的测试将继续。

有关详情,请参阅链接: Selenium HQ, explicit wait