2016-07-22 3 views
-1

私は最善のアプローチは IPageFactoryは

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

を使用することです理解しかし、我々はページ工場でこれを実装する必要がある場合はどのように我々はそれについて行くだろう。私はそれをGoogleで検索しましたが、すべての答えは、これまでのところ私が代わりにWebページのそれにAccProTableと検索を使用するように進むにはどうすればよい

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; } 

PageFactoryを使用していない通常の方法があります。

答えて

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")] 
+0

を私はあなたが提案さの変化とその良いものを実装しました。シンプルだが効果的だが、今は私が手に入れている** [ERROR]呼び出しの対象によって例外がスローされた。 - >メンバーのタイプ 'List'1'はIWebElementまたはIListではありません **これは多くの記事による.Netの問題ですが、すでにIList を使用しているので、上記の可能な修正の範囲が完全に使い果たされています。ご提案があれば、歓迎します。乾杯!! –

関連する問題