selenium - Selenium webdriver(Java)中的显式等待类型?
问题描述
Selenium webdriver (Java) 中的显式等待中存在哪些类型的等待?显式等待中有任何类型吗?如果是请详细说明..
解决方案
有以下等待:
流利等待
这是一种特殊的等待,您可以设置等待某个条件的时间,以及检查条件的频率,例如。等待 10 秒并每隔 1 秒检查一次,如果您预计此异常会持续一段时间,请忽略“NoSuchElementExceptions”异常。
Wait wait = new FluentWait(driver)
.withTimeout(30, SECONDS)
.pollingEvery(5, SECONDS)
.ignoring(NoSuchElementException.class);
WebElement foo = wait.until(new Function() {
public WebElement apply(WebDriver driver) {
return driver.findElement(By.id("foo"));
}
});
显式等待 这是一种等待,您可以将其设置为等待您可能喜欢的任何条件。通常,您可以使用一些预构建的ExpectedConditions
WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.id("someid")));
隐式等待 等待元素,直到在初始化对象时抛出异常,并且它在整个会话中定义
WebDriver driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
driver.get("http://...");
WebElement myDynamicElement = driver.findElement(By.id("myDynamicElement"));
PageLoadTimeout 页面加载需要多长时间:
driver.manage().timeouts().pageLoadTimeout(100, SECONDS);
设置脚本超时
如果你有异步脚本。在引发错误之前等待异步脚本完成执行的时间。
driver.manage().timeouts().setScriptTimeout(100,SECONDS);
推荐阅读
- c - 如何从动态创建结构的函数返回错误代码
- javascript - 拒绝访问跨域对象上的属性“文档”的权限
- php - 如何去除水印?
- eclipse - 我可以使用哪些工具和日志来找出 Eclipse 中的服务器无法启动的原因
- java - 仅限公共访问约束的注释
- angular - 在ngrx Effect 中的switchmap(api call) 之后访问一个action payload
- sql - 如何组合2个表的部分数据?
- php - 根据配置数组选择方法
- javascript - 我可以在 React 头盔标签中使用 react-i18next 反式标签吗?
- reactjs - npx create-react-app 没有进一步进行并停止在“使用 cra-template 安装 react、react-dom 和 react-scripts