I am working with selenium and I am using the function FindElements so I am getting a element that implements IReadOnlyCollection interface. I want to iterate through the list but it seems that IReadOnlyCollection doesnt have any method like Get(int index) or a implementation of the operation [].
I want to avoid transforming the result to a List or to an array since I just want to access the elements to read them.
Currently I don't want to use a foreach since I need to manage an index so I can add those elements to an another array.
This is what I want to do:
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();
}
}
Thanks
Use the ElementAt(int) function with the index value.
Here is the MSDN link to the ElementAt(int) function https://msdn.microsoft.com/en-us/library/bb299233(v=vs.110).aspx