Selenium-Nunit 如何等待多个图像

Selenium-Nunit How to wait for a several images

想请教一下,如何等待多张图片显示(图片是一张一张显示的)。 in JAVA - Junit 是多个等待的代码

new WebDriverWait(driver, 10).until(ExpectedConditions.numberOfElementsToBe(By.(xpath("//div[@class = 'minions']//img"), number: 5));

我正在使用 Nunit (C#),但不知道如何执行类似于 junit wait 的操作。好像 c# 没有这样的东西。 有人可以帮我吗?

只需使用 driver.FindElements(By.XPath("...")).Count 并显式等待:

var xpath = "//div[@class = 'minions']//img";
var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));

wait.Until(d => d.FindElements(By.XPath(xpath)).Count == 5);

如果你想要更容易重用的东西,你总是可以创建一个扩展方法:

public static class WebDriverWaitExtensions
{
    public static void UntilNumberOfElementsExist(this WebDriverWait wait, By locator, int number)
    {
        wait.Until(d => d.FindElements(locator).Count == number);
    }
}

并使用它:

var xpath = "//div[@class = 'minions']//img";
var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));

wait.UntilNumberOfElementsExist(By.XPath(xpath), 5);