0
Javaを使用してSeleniumを使用しています。SeleniumのStalelement例外
古い要素の例外が発生しており、問題を特定できないようです。
私はカルーセルと相互作用しています(下の画像を参照)。カルーセル内のすべての車両をリストに入れ、リスト内の各Web要素からテキストを取得しようとしています。リストには8つの要素が含まれています。私のコードがカルーセルの最後のページ(この場合はリストの6番目のインデックス)とやりとりすると、古い要素の例外がスローされます。
List<WebElement> vehiclesInCarousel = driver.findElements(By.cssSelector("div[data-qaid='cntnr-frntlnlstng-carousel'] ul[class='slider-list'] li[class='slider-slide']"));
デバッグなしで根本原因を見つけることは困難です。しかし、私は通常、複数の要素を取得するのではなく、要素を1つずつ取得することでこれを解決します。まず、車両を数え、「:nth-child」を使ってアイテムを取得し、それを1つずつテストします。 – Buaban
@Buabanそれはカルーセルの3番目のページであるインデックス6で起こります。インデックス6より前のすべての要素は期待どおりに機能しますが、インデックス6以上にアクセスしようとすると古い要素の例外が発生します。 – Robben
アプリケーションで何かを実行するため、第6要素リストが変更される可能性があります。それで、リストにそれらを保存するのではなく、要素を取得してアクションを1つずつ実行することをお勧めします。 –
Buaban