Аннотация Selenium Webdriver FindsBy, эквивалентная driver.FindElements()

Я играю с PageFactory и идентификацией объектов, используя атрибуты FindsBy. Пока мне это нравится, но я не могу найти аннотацию 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? Я не хочу смешивать и сочетать подходы к идентификации элементов, если это возможно.


person Joel    schedule 06.08.2014    source источник


Ответы (1)


Как это часто бывает, ответ содержался в самом вопросе. Решение состояло в том, чтобы изменить его с List<> на IList<>.

 public IList<IWebElement> searchGridContents;
person Joel    schedule 06.08.2014