Example #1
0
        public ScreenshotTaker(IWebDriver driver, ScreenshotTakerConfiguration configuration)
        {
            Driver          = driver;
            Executor        = driver as IJavaScriptExecutor;
            TakesScreenshot = driver as ITakesScreenshot;
            PageSize        = driver.PageSize();
            ViewSize        = driver.ViewPort();
            ViewSize        = ApplyOverlap(PageSize, ViewSize, configuration);

            HorizontalSnaps = Math.Ceiling((double)PageSize.Width / ViewSize.Width);
            VerticalSnaps   = Math.Ceiling((double)PageSize.Height / ViewSize.Height);

            InitialOffsetX = OffsetX = Driver.GetOffsetX();
            InitialOffsetY = OffsetY = Driver.GetOffsetY();
        }
Example #2
0
 Size ApplyOverlap(Size pageSize, Size viewSize, ScreenshotTakerConfiguration configuration)
 => Size.Subtract(viewSize,
                  new Size(
                      pageSize.Width < viewSize.Width ? 0 : configuration.ScreenshotTakeHorizontalOverlap,
                      pageSize.Height < viewSize.Height ? 0 : configuration.ScreenshotTakeVerticalOverlap));