我想问你,如何等待多张图片显示(图片正在逐个显示(。在JAVA中,Junit是用于多个等待的代码
new WebDriverWait(driver, 10).until(ExpectedConditions.numberOfElementsToBe(By.(xpath("//div[@class = 'minions']//img"), number: 5));
我正在使用Nunit(C#(,不知道如何做类似于junit的事情。似乎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);