【问题标题】:Getting HTML from Cefsharp Browser从 Cefsharp 浏览器获取 HTML
【发布时间】:2017-09-13 01:28:19
【问题描述】:

我在我的 WinForm 项目中使用 CefSharp v55.0。页面加载后,我想从中获取 HTML 代码。为此,我正在使用这个:

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方法的临时文件。

干杯。

【问题讨论】:

标签: c# webbrowser-control chromium-embedded cefsharp


【解决方案1】:

试试这个,它对我有用:

    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 !
        }
    }

【讨论】:

    【解决方案2】:

    VB.Net:

    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
    

    【讨论】:

      猜你喜欢
      • 2016-06-23
      • 1970-01-01
      • 2014-04-22
      • 1970-01-01
      • 1970-01-01
      • 2013-08-02
      • 1970-01-01
      • 2016-08-22
      • 2014-12-18
      相关资源
      最近更新 更多