public async Task <TakeScreenshotResponse> TakeScreenShot(TakeScreenshotRequest request)
        {
            if (string.IsNullOrEmpty(request?.Url))
            {
                throw new ArgumentNullException(nameof(request));
            }

            // Fix the url
            var uriString = request.Url;
            Uri uri;

            if (!Uri.TryCreate(uriString, UriKind.Absolute, out uri))
            {
                throw new Exception("Bad url");
            }

            var filename = await this.cef.Browser.TakeScreenshot(uri.ToString());

            return(new TakeScreenshotResponse {
                FileName = filename, Success = !string.IsNullOrEmpty(filename)
            });
        }
 public async Task <TakeScreenshotResponse> TakeScreenshot(TakeScreenshotRequest request)
 {
     return(await this.pageTrackerService.TakeScreenShot(request));
 }