【发布时间】:2015-12-20 03:45:19
【问题描述】:
我遇到了一个问题,在集合中我可以看到 2 个元素,但该集合上的 count 方法仅返回 1。
解决方法是在 count 方法之前添加 100 毫秒的等待,它可以解决问题,但我仍然不确定它为什么会发生。
我正在使用以下代码来获取计数:
IEnumerable<IWebElement> myEmptyElements = null;
var actualElementCount = 0;
myEmptyElements = allElements.Where(e => e.Text != "");
var expectedElementCount = table.RowCount;
//Adding this wait until we can find some better solution
//Thread.Sleep(100);
actualElementCount = myEmptyElements.Count();//this count returns less then number of items in the collection
【问题讨论】:
-
你什么时候执行这段代码。您应该等待 selenium 加载并运行页面。
-
@RichardSchneider,元素已正确加载,因此我可以在集合中看到它们。它的 count 方法返回集合中错误的项目数。allElements 是从一个单独的函数传递的,该函数首先检查是否所有元素都正确加载然后填充它。
标签: c# selenium-webdriver ienumerable