動的に生成されるロケータは、リストから選択される要素によって異なります。例えばワイルドカードを使用するPagefactory動的Web要素
、これは私の生成されたIDです:
Function:TableName:0:submenuAction
0は、最初の要素はリストから選択されることを意味、カウンタです。カウンタの前後のすべての文字列は変更されないので、xpathメソッドが含まれていません。
のようなワイルドカードを使用できますか?Function:TableName:{X}:submenuAction
{x}は整数です。
選択した要素の数を格納できますが、この変数をpagefactory要素内でどのように使用できますか? driver.findelementはstaleElementExceptionで失敗する可能性があります。なぜ私はPageFactoryを使用したいのですか?
通常、ページのDOM状態を変更した後に要素にアクセスしようとすると、古い要素エラーが発生します。したがって、要素を使用する場合は、参照をすぐに取得してから、何らかのアクションを実行する必要があります。失効した要素のエラーを引き起こすための擬似書を書いています。 1.ページ上の任意の要素の参照を取得する(driver.findelement(....)) 2.リフレッシュページ(driver.manage.navigate.refresh()) 3.現在その要素をクリックしようとするelement.click()) - >不正な要素エラーが発生します。 –