Selenium 等待任何元素可见 [英] Selenium Wait for anyone of Element to visible

查看:36
本文介绍了Selenium 等待任何元素可见的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

单击特定按钮时 - 我的测试站点将打开模式窗口.

While Clicking a particular button - my test site will open modal window.

但是打开的模态窗口是不同的,要么是用模态窗口1打开的,要么是模态窗口2打开的

But the modal window opens are differ, either it opened with modal window 1 or modal window 2

两者都有不同的标题、不同的选项和不同的定位器.现在我应该等到模态 window 打开 1 或 2.

Both are having different title, different options and different locators. Now I should have to wait until the modal window open Either 1 or 2.

是否可以等到任一模式窗口 (WebElement) 可见?

Is it possible to wait until either one modal window (WebElement) is visible?

我在 WebDriverWait 方法中搜索过,但所有方法都是等到特定的 WebElement 可见或可点击.

I have searched in WebDriverWait methods, but all methods are to wait until a particular WebElement to visible or clickable.

我找不到更好的方法来等待任何一个可见.

I can't find a better method to wait until either one is visible.

您能建议任何一种方法来解决这种情况吗?

Could you suggests any one method to solve this situation?

推荐答案

可以使用 预期条件

WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.or(
    ExpectedConditions.visibilityOfElementLocated(By.id("id1")),
    ExpectedConditions.visibilityOfElementLocated(By.id("id2"))
));

或者使用cssSelector或者,

wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("#id1, #id2"));

这篇关于Selenium 等待任何元素可见的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆