Selenium'da sayfanın yüklenmesini bekleyin

Selenium]1 2.0'ın sayfanın yüklenmesini beklemesini nasıl sağlarsınız?

WebDriverWait]1 sınıfını kullanın

Ayrıca bakınız burada

Bazı öğeleri göstermeyi bekleyebilirsiniz. C#'taki gibi bir şey:

WebDriver _driver = new WebDriver();
WebDriverWait _wait = new WebDriverWait(_driver, new TimeSpan(0, 1, 0));

_wait.Until(d => d.FindElement(By.Id("Id_Your_UIElement"));
Yorumlar (7)

Genel olarak, Selenium 2.0 ile web sürücüsü yalnızca sayfanın yüklendiğini belirledikten sonra kontrolü çağıran koda geri döndürmelidir. Eğer dönmezse, waitforelemement çağrısı yapabilirsiniz; bu çağrı, bulunana veya zaman aşımına uğrayana kadar findelement çağrısı etrafında döner (zaman aşımı ayarlanabilir).

Yorumlar (6)

Belirli bir öğenin yüklenmesini beklemek istiyorsanız, RenderedWebElement üzerinde isDisplayed() yöntemini kullanabilirsiniz:

// Sleep until the div we want is visible or 5 seconds is over
long end = System.currentTimeMillis() + 5000;
while (System.currentTimeMillis() < end) {
    // Browsers which render content (such as Firefox and IE) return "RenderedWebElements"
    RenderedWebElement resultsDiv = (RenderedWebElement) driver.findElement(By.className("gac_m"));

    // If results have been returned, the results are displayed in a drop down.
    if (resultsDiv.isDisplayed()) {
      break;
    }
}

(Örnek 5 Dakikada Başlama Kılavuzu)

Yorumlar (2)