java - 如何等待具有相同类名的所有元素?

标签 java selenium selenium-webdriver automation wait

请参阅下面的部分代码:

public class OrderDetailsDashboard extends AbstractTestNGSpringContextTests {

    By orderDetails = By.cssSelector(".col-md-12 span strong");
    By orderMoreDetails = By.cssSelector(".row.panel-info-summary span strong");
    By refundOrderButton = By.cssSelector(".refund-order-action");

    public orderDetails getOrderDetails(WebDriver driver) {
        logger.info("About to collect and returns the specific order details - refreshing page");
        WebDriverWait waitForTitle = new WebDriverWait(driver,30);
        try {
            waitForTitle.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(orderMoreDetails));
        }
        catch (StaleElementReferenceException ex) {
            waitForTitle.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(orderMoreDetails));
        }
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        waitForTitle.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(orderDetails)); 

我有一个问题似乎已解决,但我对解决方案不满意。 我正在尝试使用自动化加载页面。下一个元素(此处表示为页面对象):

By orderDetails = By.cssSelector(".col-md-12 span strong")

在我的页面上出现了 6 次,并且仅包含粗体文本。我注意到,当我尝试获取第 7 个元素文本时,我得到了 Index Out Of Bounds Exception。尽管我使用 wait() 方法。 最后我意识到 wait() 是等待,但不是重新发送 ALL 元素,这就是我的测试失败的原因。 (这也是我添加 thread.sleep 方法的原因)。

有没有办法使用wait()方法来实际等待页面上的ALL元素?

最佳答案

您可以等待任何条件,因此我猜想元素列表具有预期的大小。

你尝试过findElementsBy()吗???

关于java - 如何等待具有相同类名的所有元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25627346/

相关文章:

java - JAXB:解码期间拦截?

c# - 通过 Selenium WebDriver C# 获取 HTTP 状态码

java - 为什么 TestNG 优先级功能未按预期顺序运行

java - Mapbox:如果我们想在 map 上显示一条线,是否需要LineLayer

java - ClassCastException:datastructs.instances.JClass 无法转换为 java.util.ArrayList

java - NoClassDefFound : Scala/xml/metadata

java - 如何在没有地址栏的情况下获取浏览器窗口大小Java?

java - 从 Excel 读取数据以提供测试用例

java - 无法在 Eclipse Neon 上安装 TestNG。提示输入用户名和密码

selenium-webdriver - 如何在 Robot 框架中获取当前 URL?