java - wait.until(ExpectedConditions.visibilityOf Element1 或 Element2)

标签 java selenium

我想对两个元素使用 wait.until(ExpectedConditions)。 我正在运行一个测试,我需要 WebDriver 等待 Element1 OR Element2 出现。然后我需要选择先出现的人。我试过:

WebDriverWait wait = new WebDriverWait(driver, 60); 
    wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//h2[@class='....']"))) || wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//h3[@class='... ']"))); 

        // Then I would need:

String result = driver.findElement(By.xpath("...")).getText() || driver.findElement(By.xpath("...")).getText();

总而言之,我需要等到两个元素中的任何一个出现。然后选择出现的人(他们不能同时出现) 请帮忙。

最佳答案

现在有一个本地解决方案,方法,check the doc .

你可以这样使用它:

driverWait.until(ExpectedConditions.or(
    ExpectedConditions.presenceOfElementLocated(By.cssSelector("div.something")),
    ExpectedConditions.presenceOfElementLocated(By.cssSelector("div.anything"))));

关于java - wait.until(ExpectedConditions.visibilityOf Element1 或 Element2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14840884/

相关文章:

java - servlet 能否确定发布的数据是否为多部分/表单数据?

java - 为什么迭代映射比迭代列表慢?

java - 如何使用带有 Java 的 Selenium WebDriver 在 Firefox 中允许或拒绝麦克风和摄像头弹出通知

css - 在 div 下定位一个元素

java - 如何通过 TestNG 参数化配置环境 URL?

java - 隐藏类的 System.out.print 调用

java - java中ThreadFactory的使用

java - 在Spring中定义java.io.FileInputStream的bean使得Struts2流结果不起作用

java - Selenium WebDriver 和 Java 机器人类

python - 如何在 python 中为 selenium webdriver 导入和导出 FireFox 配置文件