Mad*_*uri 5 selenium synchronization
之间有什么具体区别implicitwait(),explicitwait()并fluentwait()?你能用例子解释一下吗?
显式等待是您定义的代码,用于等待特定条件发生,然后再继续处理代码。最坏的情况是Thread.sleep(),它将条件设置为要等待的确切时间段。提供了一些方便的方法,可以帮助您编写只等待所需时间的代码。WebDriverWait结合使用ExpectedCondition是实现此目的的一种方法。示例如下:
WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.id("someid")));
Run Code Online (Sandbox Code Playgroud)
然而,根据语言的实现,略有不同。有关界面的更多信息,请参阅此处ExpectedCondition
隐式等待是告诉在尝试查找一个或多个元素(如果它们不立即可用)时WebDriver轮询DOM一定时间。默认设置为 0。设置后,隐式等待将在WebDriver对象实例的生命周期内设置。下面是隐式等待的实现:
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
Run Code Online (Sandbox Code Playgroud)
这两个定义都来自seleniumhq和最完美的定义。
Fluent Wait只是等待元素的另一种机制。它提供了一些不同的机制来轮询DOM以查找元素。它提供的最伟大的功能之一是等待忽略某些元素exceptions。看到这个
| 归档时间: |
|
| 查看次数: |
7725 次 |
| 最近记录: |