如何使用 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中文网其他相关文章!