一尘不染

如何通过索引访问IReadOnlyCollection的元素?

selenium

我正在使用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();                
        }    
}

谢谢


阅读 329

收藏
2020-06-26

共1个答案

一尘不染

将ElementAt(int)函数与索引值一起使用。

这是指向ElementAt(int)函数的MSDN链接https://msdn.microsoft.com/zh-
cn/library/bb299233(v=vs.110).aspx

2020-06-26