Skip to content

Commit 46e9a1b

Browse files
committed
Example - Update CaptureScreenShotAsPng to use strongly typed DevTools client
1 parent 898b843 commit 46e9a1b

File tree

1 file changed

+5
-34
lines changed

1 file changed

+5
-34
lines changed

CefSharp.Example/DevTools/DevToolsExtensions.cs

Lines changed: 5 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using System;
22
using System.Threading.Tasks;
3-
using Newtonsoft.Json;
43

54
namespace CefSharp.Example.DevTools
65
{
@@ -15,42 +14,14 @@ public static class DevToolsExtensions
1514
/// <returns>png encoded image as byte[]</returns>
1615
public static async Task<byte[]> CaptureScreenShotAsPng(this IWebBrowser chromiumWebBrowser)
1716
{
18-
//if (!browser.HasDocument)
19-
//{
20-
// throw new System.Exception("Page hasn't loaded");
21-
//}
22-
23-
var browser = chromiumWebBrowser.GetBrowser();
24-
25-
if (browser == null || browser.IsDisposed)
26-
{
27-
throw new Exception("browser is Null or Disposed");
28-
}
29-
30-
//var param = new Dictionary<string, object>
31-
//{
32-
// { "format", "png" },
33-
//}
34-
3517
//Make sure to dispose of our observer registration when done
36-
using (var devToolsClient = browser.GetDevToolsClient())
18+
//If you need to make multiple calls then reuse the devtools client
19+
//and Dispose when done.
20+
using (var devToolsClient = chromiumWebBrowser.GetDevToolsClient())
3721
{
38-
const string methodName = "Page.captureScreenshot";
39-
40-
var result = await devToolsClient.ExecuteDevToolsMethodAsync(methodName);
41-
42-
dynamic response = JsonConvert.DeserializeObject<dynamic>(result.ResponseAsJsonString);
43-
44-
//Success
45-
if (result.Success)
46-
{
47-
return Convert.FromBase64String((string)response.data);
48-
}
49-
50-
var code = (string)response.code;
51-
var message = (string)response.message;
22+
var result = await devToolsClient.Page.CaptureScreenshotAsync();
5223

53-
throw new Exception(code + ":" + message);
24+
return result.Data;
5425
}
5526
}
5627
}

0 commit comments

Comments
 (0)