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"));

相关文章