Selenium等待Element中的任何人可见

Van*_*mar 6 java selenium webdriver selenium-webdriver

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

但是打开的模态窗口是不同的,要么打开了 modal window 1 or modal window 2

两者都有不同的标题,不同的选项和不同的定位器.现在我应该等到模态window open Either 1 or 2.

可以等到一个模态窗口(WebElement)可见吗?

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

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

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

Guy*_*Guy 9

您可以使用or 预期条件

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

或者使用cssSelector,

wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("#id1, #id2"));
Run Code Online (Sandbox Code Playgroud)