用于标识表行的PageFactory

时间:2016-07-22 15:56:07

标签: c# selenium-webdriver webpage

我知道最好的方法是使用 我

SearchContext table = driver.FindElements(By.Xpath="xpath for the table");
List<IWebElement> allrows = table.FindElements(By.Tagname="tr");

但是如果我们需要在Page Factory中实现这一点,我们将如何实现它。我用谷歌搜索了它,但所有答案都是针对不使用PageFactory到目前为止的常规方法,

PageFactory.InitElements(Driver, this); `Driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(20));`

[FindsBy(How = How.XPath, Using = "//*[@id='MyGrid']/div[3]/div/table/tbody")] protected ISearchContext AccoProTable { get; set; }

如何继续使用AccProTable并在其中搜索而不是网页。

1 个答案:

答案 0 :(得分:1)

[FindsBy(How = How.XPath, Using = "//*[@id='MyGrid']/div[3]/div/table/tbody/tr")]
IList<IWebElement> allRows;

PageFactory.InitElements()可以初始化IWebElementIList<IWebElement>

更一般地说,您的FindsBy看起来像这样:

[FindsBy(How = How.XPath, Using = "'xpath for the table'/tr")]