如何使用Java 在Selenium-WebDriver 中實現延遲:隱式與明確等待
在您的Java Selenium-WebDriver 專案中,您有遇到元素位置的挑戰。您添加了隱式等待和 Thread.sleep,雖然後者解決了問題,但您尋求更合適的方法。
隱式等待與明確等待
Selenium-WebDriver 提供兩種類型的等待:
比較
而隱式等待是雖然很方便,但如果元素載入速度很快,可能會導致不必要的延遲。另一方面,顯式等待提供了更多的控制和靈活性。
推薦方法:明確等待
在您的場景中,明確等待是更合適的解決方案,因為應用程式使用者介面的不同載入時間。下面提供的程式碼範例示範了明確等待的使用:
<code class="java">import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; public class ExplicitWaitExample { public static void main(String[] args) { WebDriver driver = getDriver(); WebElement textbox = new WebDriverWait(driver, 30) .until(ExpectedConditions.presenceOfElementLocated(By.id("textbox"))); } }</code>
此方法可確保 Selenium 等到文字方塊元素出現在頁面上後再繼續,從而避免使用固定等待期間。
以上是Selenium 中的隱式等待與顯式等待:我什麼時候該使用哪一個?的詳細內容。更多資訊請關注PHP中文網其他相關文章!