我正在使用selenium,并且正在使用功能FindElements,所以我正在获取实现IReadOnlyCollection接口的元素。我想遍历列表,但似乎IReadOnlyCollection没有诸如Get(int index)或操作[]的实现之类的任何方法。
我想避免将结果转换为List或数组,因为我只想访问元素以读取它们。
目前,我不想使用foreach,因为我需要管理索引,以便可以将这些元素添加到另一个数组中。
这是我想做的:
public void fillMatrix(){ IReadOnlyCollection<IWebElement> rows = Driver.FindElements(By.XPath("./*/tr")); IReadOnlyCollection<IWebElement> elements; matrix = new IControl[rows.Count()][]; for(int i = 0; i < matrix.Count(); ++i){ matrix[i] = rows[i].FinElements("./td").toArray(); } }
谢谢
将ElementAt(int)函数与索引值一起使用。
这是指向ElementAt(int)函数的MSDN链接https://msdn.microsoft.com/zh- cn/library/bb299233(v=vs.110).aspx