![](/img/trans.png)
[英]Selenium.WebDriver 2.32.1 C# - Wait untill LOADING DIV is hidden after Page Load
[英]Selenium WebDriver, wait while displayed loading div
首先:
-帶有Webdriver的Selenium 2.0
-適用於IExplorer,Chrome和Firefox
-當前的Webdriver和Selenium dll
-Windows 8.1
-Visual Studio 2013 C#
我會測試我的網站。 頁面將被加載ajax。 如果我要更改頁面,它將顯示一個加載div(div #wartenDialog)。 現在,我將等待顯示此div,然后再轉到下一頁。
問題是,有時在顯示加載div之前會有很小的延遲,而通過快速的計算機/互聯網沒有加載div。
我嘗試了以下功能:
public static void WaitWhileElementVisible(RemoteWebDriver _driver, By _locator)
{
WebDriverWait wait = new WebDriverWait(_driver, TimeSpan.FromMilliseconds(timeout));
wait.Until(drv => !Exists(drv, _locator));
}
private static bool Exists(IWebDriver _drv, By _locator)
{
return (ExpectedConditions.ElementIsVisible(_locator) != null);
}
現在,它始終在超時中運行。
您等待元素可見的方法是正確的。 但是,只需對您的代碼進行一些修改即可解決問題。
public static void WaitWhileElementVisible(RemoteWebDriver _driver, By _locator)
{
WebDriverWait wait = new WebDriverWait(_driver, TimeSpan.FromMilliseconds(timeout));
wait.IgnoreExceptionTypes(typeof(WebDriverTimeoutException));
wait.Until(drv => !Exists(drv, _locator));
}
IgnoreExceptionTypes()
將忽略提供的異常類型。 這段代碼對我有用。
希望這能解決您的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.