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

时间:2013-04-11 06:32:27

标签: c# selenium webdriver selenium-webdriver pageobjects

我尝试使用OpenQA.Selenium.Support.PageObjects中包含的[FindsBy]属性将多个IWebElements设置为集合,如下所示。假设我想要持有所有" li"实例变量中的元素" 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;

}

我该如何做到这一点?

1 个答案:

答案 0 :(得分:5)

对不起伙计们,解决了:

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

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