我知道最好的方法是使用 我
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并在其中搜索而不是网页。
答案 0 :(得分:1)
[FindsBy(How = How.XPath, Using = "//*[@id='MyGrid']/div[3]/div/table/tbody/tr")]
IList<IWebElement> allRows;
PageFactory.InitElements()
可以初始化IWebElement
和IList<IWebElement>
。
更一般地说,您的FindsBy
看起来像这样:
[FindsBy(How = How.XPath, Using = "'xpath for the table'/tr")]