我尝试使用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;
}
我该如何做到这一点?
答案 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
。谢谢!