You can use JavascriptExecutor to imitate the scroll with below code.
JavascriptExecutor Scrool = (JavascriptExecutor) driver;
Scrool.executeScript("window.scrollBy(0,300)", "");
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
You can put above code in loop and wait for the element expected.
E.g.
WebDriverWait wait = new WebDriverWait(Scenario1Test.driver, 10);
while(!(wait.until(ExpectedConditions.elementToBeClickable(By.xpath(""))) == null)){
JavascriptExecutor Scrool = (JavascriptExecutor) driver;
Scrool.executeScript("window.scrollBy(0,300)", "");
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}