Şu anda IWebDriver
işlevselliğine ihtiyacım olmadığı şeyleri beklemek için Selenium WebDriverWait
kullanıyorum. Benim kod şöyle görünür:Bir temsilci belirli bir değer döndürmek için nasıl beklerim?
public static T WaitForNotNull<T>(this IWebDriver driver, Func<T> func)
{
var result = default(T);
var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
wait.Until(d => (result = func()) != null);
return result;
}
public static void WaitForNull<T>(this IWebDriver driver, Func<T> func)
{
var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
wait.Until(d => func() == null);
}
Ben WebDriverWait yerine kullanabileceğiniz .NET benzer bir yapı var mı?
Senkronize beklemeyi mi, senkronize olmayan beklemeyi mi arıyorsunuz? Eşzamansız için asenkronize etmek için [Task.Wait] (https://msdn.microsoft.com/en-us/library/dd235635 (v = vs.110) .aspx) 'i kullanabilirsiniz ve async anahtar kelimeleriniz var ve –
Evet, buna "while" döngüsü denir. Bununla ilgili herhangi bir sorun görüyor musunuz? – nvoigt
sadece Until yönteminin decompiled koduna bakıp aynı –