I checked snapdeal website and your page is loaded with infinity scroll. So everytime you scroll down, new iteams will be added to the page dynamically.
In this case, you can identify any item from the footer area and explicitly wait till the item is loaded. This way, WebDriver will wait till the footer is loaded and move to the next command.
Eg.
System.setProperty("webdriver.gecko.driver", "C://Selenium driver/geckodriver.exe");
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
WebDriver driver = new FirefoxDriver();
driver.get("http://www.snapdeal.com");
//WebDriverWait wait = new WebDriverWait(driver,10);
//wait.until(ExpectedConditions.elementIsVisible("Your element identify by here"));
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile, new File("E:\\screenshot.png"));
driver.close();
Hope that helps!