webdriverを使用して、クラス名がtopredo
のWeb要素をArrayListに取得していました。arraylistのサイズがrealより小さい
画面のスクロール時にウェブ要素が増加しているのを見て、私はwhile
ループを使ってスクロールしてグラブします。
このようなJavaコード:
outer: while (isContinue) {
List<WebElement> all = driver.findElements(By.className("torpedo"));
/* do screen scrolling*/
}
それは最後のループまでうまく動作します。最後secodeループで
、私はall.size()
結果208を得るが、ブラウザ上のWeb要素の実際の合計サイズが243である間、最後のループでは、all.size()
結果は172であり、私は、リストのスタックを見るために日食のデバッグを使用しますコンテンツ。このような
スクリーン:
- all.size()
- インデックス171
なぜall.size()
はthe real size
より小さく、インデックスの内容が171より大きいのはなぜですか?
ありがとうございます!
詳細情報:1.正確なテスト手順は何ですか? 2.何があなたのために働いたのですか?コードを表示する。 3.どこにいらっしゃいますか?エラースタックトレースを提供します。 4.関連するHTML DOMを提供する。 – DebanjanB
あなたは 'all'を何度も何度もリセットしています...スクロールが終わったことが分かるまでスクロールしてから' all = driver.findElements(By.className( "torpedo") ); 'あなたのループの後?これにより、要素を設定する前にスクロールの問題が解決されることがあります。あなたの 'isContinue'がやっていることやループロジックの他の部分が見えないので、確かに言うのは難しいです。 :) – mrfreester