c# - Selenium-Nunit 如何等待几个图像
问题描述
我想问你,如何等待多张图片显示(图片一张一张显示)。in 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);
推荐阅读
- fastlane - 无法解密 repo,请确保输入正确的密码
- mysql - 如何使用 LEFT JOIN 在一个查询中选择名称并计算名称重复的次数
- office365 - 无法在 Excel Web 加载项中创建表格
- php - 比较多维数组的参数并合并它们
- ios - 如何检查项目中是否使用了天气 UIWebView 并在 windows platorm 上替换它 WKWebView
- python - Twilio:房间历史
- tomcat - Tomcat:“X-Forwarded-For”不适用于负载均衡器
- leaflet - 如何使用 Leaflet.Draw GeometryUtil 计算多边形的面积
- windows - 通过 Ansible 请求 Windows 会话 ID
- xpath - 如何从 xpath 中排除子节点?