Teste o conteúdo carregado dinamicamente com o Selenium Web Driver

Eu estou trabalhando em um sistema que tem um frontend baseado na web que estou testando com o Selenium. Em uma página, o conteúdo é carregado dinamicamente ao rolar para baixo (talvez você saiba disso na lista de amigos do Facebook), porque é um dos requisitos.

Rolando para baixo com Selenium Webdriver (eu uso o Chrome) não deve ser problema via Javascript. Mas há um problema com o conteúdo adicionado dinamicamente. Como posso fazer o Webdriver encontrar esses elementos?

Eu tentei o seguinte para rolar para baixo até que não haja mais conteúdo carregado:

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

Mas embora a página role para baixo pela primeira vez e alguns agora o conteúdo seja carregado corretamente, eles não serão encontrados pela função findElementsBy (By) dos drivers.

Alguém já enfrentou esse problema? Eu ficaria muito feliz se alguém pudesse me ajudar a descobrir uma solução para isso!

Atenciosamente, Benjamin

questionAnswers(3)

yourAnswerToTheQuestion