Przetestuj dynamicznie ładowaną zawartość za pomocą Selenium Web Driver

Pracuję nad systemem, który ma interfejs internetowy, który testuję z Selenium. Na jednej stronie zawartość jest dynamicznie ładowana podczas przewijania w dół (być może wiesz o tym na liście znajomych Facebooka), ponieważ jest to jedno z wymagań.

Przewijanie w dół za pomocą Selenium Webdriver (używam Chrome) nie powinno być problemem dzięki Javascript. Ale jest problem z dynamicznie dodawaną treścią. Jak mogę sprawić, by Webdriver znalazł te elementy?

Próbowałem wykonać poniższe czynności, aby przewinąć w dół, dopóki nie załaduje się więcej treści:

int oldSize = 0;
int newSize = 0;
do {
  driver.executeScript("window.scrollTo(0,document.body.scrollHeight)");
  newSize = driver.findElementsBy(By.cssSelector("selector").size();
} while(newSize > oldSize);

Ale mimo że strona przewija się w dół po raz pierwszy i niektóre treści są ładowane poprawnie, nie zostaną znalezione przez funkcję findElementsBy (By) sterowników.

Czy ktoś kiedykolwiek zmierzył się z tym problemem? Byłbym bardzo zadowolony, gdyby ktoś mógł mi pomóc w znalezieniu rozwiązania tego problemu!

Pozdrawiam, Benjamin

questionAnswers(3)

yourAnswerToTheQuestion