CefGlue get page source

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.

 

Guess you like

Origin www.cnblogs.com/sinceret/p/11669217.html