1. Write a CefStringVisitor categories:
public class MyStringVisitor : CefStringVisitor { private readonly TaskCompletionSource<string> taskCompletionSource; public MyStringVisitor() { taskCompletionSource = new TaskCompletionSource<string>(); } protected override void Visit(string value) { taskCompletionSource.SetResult(value); } public Task<string> Task { get { return taskCompletionSource.Task; } } }
2. Use the page loaded event:
private static void OnWebBrowserFrameLoadEnd(object sender, FrameLoadEndEventArgs e) { MyStringVisitor taskStringVisitor = new MyStringVisitor(); e.Frame.GetSource(taskStringVisitor); string HTMLsource = taskStringVisitor.Task.Result; }
3.HTMLsource is the page source content.