Selenium C# WebDriver: Teknik menunggu elemen yang kuat
Berinteraksi dengan cekap dengan elemen web di Selenium memerlukan memastikan kehadiran mereka sebelum mencuba sebarang tindakan. Ini menghalang kesilapan biasa yang disebabkan oleh unsur -unsur yang tidak dimuatkan dalam masa. Mari kita meneroka strategi menunggu yang berkesan menggunakan dan WebDriverWait
. ExpectedConditions
dan WebDriverWait
: ExpectedConditions.ElementIsVisible
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(5)); wait.Until(ExpectedConditions.ElementIsVisible(By.Id("login")));
wait.Until(d => d.FindElement(By.Id("login")).Displayed);
: FindElement
public static class WebDriverExtensions { public static IWebElement FindElement(this IWebDriver driver, By by, int timeoutInSeconds) { if (timeoutInSeconds > 0) { var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(timeoutInSeconds)); return wait.Until(drv => drv.FindElement(by)); } return driver.FindElement(by); } }
var btn = driver.FindElement(By.CssSelector("#login_button"), 10); btn.Click();
akan dibuang. Ini memberikan cara yang lebih tepat dan cekap untuk mengendalikan elemen menunggu, meningkatkan keteguhan keseluruhan ujian selenium anda. NoSuchElementException
Atas ialah kandungan terperinci Bagaimana untuk Cekap Menunggu Kehadiran Elemen dalam Selenium C# WebDriver?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!