首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从Cefsharp浏览器获取HTML

从Cefsharp浏览器获取HTML
EN

Stack Overflow用户
提问于 2017-04-17 20:15:14
回答 2查看 7.7K关注 0票数 3

我在我的WinForm项目中使用CefSharp v55.0。页面加载后,我希望从中获得HTML代码。为此,我使用了以下内容:

代码语言:javascript
复制
private void WebBrowserFrameLoadEnded(object sender, FrameLoadEndEventArgs e)
{
    if (e.Frame.IsMain)
    {
        test.ViewSource();
        test.GetSourceAsync().ContinueWith(code =>
        {
            var html = code.Result;
        });
    }
}

对于交叉检查,我还调用了test.ViewSource()方法,以查看GetSourceAsync方法是否获得了完整的代码。

不幸的是,代码是不同的。ViewSource获取了全部代码,但GetSourceAsync没有通过页面中生成的javascript获取代码。

请告诉我一个方法来获得网页的源代码,如ViewSource,或告诉我如何捕获此ViewSource方法的临时文件。

干杯。

EN

回答 2

Stack Overflow用户

发布于 2017-09-20 15:41:23

试试这个,它对我很有效:

代码语言:javascript
复制
    public void showSource()  // <<<<<<<<<<<<<<<<<<<<<<<<<< Call this function
    {
        Task ts = getSource();
    }

    private async Task getSource()
    {
        try
        {
            //
            string source = await chromeBrowser.GetBrowser().MainFrame.GetSourceAsync();
            //
            string f = Application.StartupPath + "\\currentSource.txt";
            //
            StreamWriter wr = new StreamWriter(f, false, System.Text.Encoding.Default);
            wr.Write(source);
            wr.Close();
            //
            System.Diagnostics.Process.Start(f);
            //
        }
        catch (Exception)
        {
            //Error !
        }
    }
票数 6
EN

Stack Overflow用户

发布于 2018-08-08 03:36:30

VB.Net:

代码语言:javascript
复制
Sub ShowSource()
        Dim ts As task = getSource()
End Sub


Private Async Function getSource() As Task
    Dim source As String = Await wb.GetBrowser().MainFrame.GetSourceAsync()


    Dim f As String = Application.StartupPath + "/currentSource.txt"

    Dim wr As StreamWriter = New StreamWriter(f, False, System.Text.Encoding.Default)
    wr.Write(source)
    wr.Close()

    System.Diagnostics.Process.Start(f)


End Function
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43451312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档