如何在没有WebBrowser控件的情况下“呈现”HTML

时间:2012-05-12 08:07:02

标签: c# javascript .net httpwebrequest webbrowser-control

首先 - 我不知道“渲染”是否是正确的词。我想从网站上获取信息。因此,我使用WebBbrowser控件。 现在我喜欢使用HttpWebRequests,因为我认为,它更快,并且可以更容易地使用线程。但是我不能使用它们,因为我从HttpWebRequest收到的HTML输出字符串里面有很多JavaScript,我需要创建所需的信息。 Web浏览器将JavaScript呈现为可读HTML。如何“手动”执行此步骤,以便我可以使用HttpWebRequests?

我希望你明白,我想要的。

2 个答案:

答案 0 :(得分:0)

所以,如果您需要javascript渲染引擎,我建议您查看selenium项目。

答案 1 :(得分:0)

我用一个名为Awesomium的项目解决了我的问题。在这个thread中,您将找到获得执行javascript的html所需的一切。 “特殊部分”就是这个:

var sourceVal = webView.ExecuteJavascriptWithResult( "document.getElementsByTagName('html')[0].outerHTML;" );

if ( sourceVal != null )
{
    using ( sourceVal )
    {
        html = sourceVal.ToString();
    }
}
相关问题