Holding IWebElements as a collection in C#/Selenium when using [FindsBy] attribute

c#, pageobjects, selenium, selenium-webdriver, webdriver

Solution

Sorry guys, solved:

class TopPage {
    TopPage(IWebDriver driver) {
        PageFactory.InitElements(driver, this);
    }
    [FindsBy(How = How.CssSelector, Using = "ul.elements li")]
    public IList<IWebElement> MyElements;
}

Use `IList`, not an `Array`. Thank you!

Problem

I'm trying to set multiple IWebElements to a collection using [FindsBy] attribute included in OpenQA.Selenium.Support.PageObjects, like following. Suppose I want to hold all "li" elements in instance variable "MyElements". HTML ``` <ul class="elements"> <li>e1</li> <li>e2</li> <li>e3</li> </ul> ``` C# ``` class TopPage { [FindsBy(How = How.CssSelector, Using = "ul.elements li")] public IWebElement[] MyElements; } ``` how can I make this work?

Original source