Selenium Webdriver FindsBy等价于driver.FindElements(...)的注释

时间:2014-08-06 18:19:38

标签: c# selenium-webdriver pageobjects

我正在使用FindsBy属性来使用PageFactory和对象识别。我喜欢它到目前为止,但我找不到与以下相当的FindsBy注释,它从表中检索元素列表。

driver.FindElements(By.CssSelector("#searchtable tr td a"));

如果我试试这个:

[FindsBy(How = How.CssSelector, Using = "#searchtable tr td a")]
public List<IWebElement> searchGridContents;

我收到错误“字段类型searchGridContents不是IWebElement或IList。”

PageFactory.initelements()查找typeof(IList<IWebElement>)或typeof(IWebElement))。似乎上面返回的FindElements是

System.Collections.ObjectModel.ReadOnlyCollection<OpenQA.Selenium.IWebElement>

是否有与PageFactory等效的注释?如果我能帮助它,我不想混合和匹配元素识别方法。

1 个答案:

答案 0 :(得分:1)

通常情况如此,答案包含在问题中。解决方案是将其从List<>更改为IList<>

 public IList<IWebElement> searchGridContents;