java - Selenium 等待 Element 的任何一个可见

标签 java selenium selenium-webdriver webdriver

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

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

两者都有不同的标题、不同的选项和不同的定位符。 现在我必须等到模式 窗口打开 1 或 2

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

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

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

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

最佳答案

您可以使用 expected conditions为此

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

关于java - Selenium 等待 Element 的任何一个可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42944097/

相关文章:

Python:Selenium "no such element"XPath 或 ID

java - 一种使用 Java Robot API 和 Selenium WebDriver by Java 进行文件上传的解决方案

java - 根据重复嵌套类型获取重复文档

Java REST 服务 JSON 解析与单元测试解析不一致?

selenium - 如何从 selenium hub 获取可用浏览器的列表?

java - 滚动到一个元素 selenium java

google-chrome - 如何在 Selenium (C#) 中自动打开 Chrome Devtools 选项卡?

java - 在循环中同时添加一个值

eclipse - Java 已启动但返回退出代码=1073807364

java - Selenium driver.findElement 查找元素,sendKeys 有效,然后在移动到新字段时清空