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
<code class="language-csharp">WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(5)); wait.Until(ExpectedConditions.ElementIsVisible(By.Id("login")));</code>
<code class="language-csharp">wait.Until(d => d.FindElement(By.Id("login")).Displayed);</code>
: FindElement
<code class="language-csharp">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); } }</code>
<code class="language-csharp">var btn = driver.FindElement(By.CssSelector("#login_button"), 10); btn.Click();</code>
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!