簡體   English   中英

Selenium WebDriver,正在等待顯示加載div

[英]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()將忽略提供的異常類型。 這段代碼對我有用。

希望這能解決您的問題。

怎么等到<div>使用 selenium webdriver 重新加載部分?</div><div id="text_translate"><p> div 部分中有多個下拉菜單。 如果我 select 是其中一個下拉菜單中的一個選項,則所有其他下拉菜單都會自動加載而無需重新加載頁面。 這是因為只有特定部分會重新加載。 有時這加載速度很快,有時很慢。 我們如何設置 webdriver 等到這個 div 部分完全重新加載。</p><pre> &lt;div id="Fruits"&gt;... ... &lt;/div&gt;</pre><p> 我正在使用 C# 謝謝</p></div>

[英]How to wait until <div> section reload using selenium webdriver?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM