使用[FindsBy]属性时,将IWebElements作为C#/ Selenium中的集合保存

Ryo*_*Ryo 3 c# selenium webdriver pageobjects selenium-webdriver

我正在尝试使用OpenQA.Selenium.Support.PageObjects中包含的[FindsBy]属性将多个IWebElement设置为一个集合,如下所示。假设我想将所有“ li”元素保留在实例变量“ MyElements”中。

的HTML

<ul class="elements">
  <li>e1</li>
  <li>e2</li>
  <li>e3</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

C#

class TopPage {

  [FindsBy(How = How.CssSelector, Using = "ul.elements li")]
  public IWebElement[] MyElements;

}
Run Code Online (Sandbox Code Playgroud)

我该如何进行这项工作?

Ryo*_*Ryo 5

抱歉,解决了:

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

使用IList,而不是Array。谢谢!