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