1

我在 google group 中提出了问题,他们告诉我实施“CefStringVisitor”课程,我这样做了。

namespace Xilium.CefGlue.WPF.Customer
{
    class MyCefStringVisitor : CefStringVisitor
    {
        private string html;
        protected override void Visit(string value)
        {
            html =  value;
        }

        public string Html
        {
            get { return html; }
            set { html = value; }
        }
    }
}

但我收到的是文本字,而不是 HTML 源。

如何获取 HTML 源代码?

4

1 回答 1

1

尝试这个

private sealed class SourceVisitor : CefStringVisitor
{
    private readonly Action<string> _callback;

    public SourceVisitor(Action<string> callback)
    {
        _callback = callback;
    }

    protected override void Visit(string value)
    {
        _callback(value);
    }
}


protected override void OnLoadEnd(CefBrowser browser, CefFrame frame, int httpStatusCode)
{
        if (frame.IsMain)
        {
            string HtmlSourceCode;
            var visitor = new SourceVisitor(text =>
            {
                BeginInvoke(new Action(() =>
                    {
                        HtmlSourceCode = text;
                    }));
            });
            frame.GetSource(visitor);
        }
}
于 2015-03-25T13:41:34.183 回答