2

我正在尝试从网页中检索数据,但我无法通过发出 Web 请求并解析生成的 html 文件来做到这一点,因为我尝试检索的实际文本不在 html 文件中!我想这个文本是使用一些脚本提取的,因此它不在 html 文件中。据我所知,我正在查看错误的数据,但假设我的理论是正确的,是否有一种直接的方法来检索浏览器(Firefox 或 IE)显示的任何文本,而不是尝试从 html 中获取文本文件?

4

2 回答 2

1

假设您指的是在浏览器中使用 Javascript 生成的文本。

您可以使用 PhantomJS 来实现: http: //phantomjs.org/

它本质上是一个处理 Javascript 的无头浏览器。

您可能需要将其作为外部程序运行,但我确定您可以通过 C#

于 2013-02-08T17:48:27.763 回答
0

您的另一个选择是在应该执行脚本的 WebBrowser 对象中打开网页,然后您可以获得 HtmlDocument 对象并从那里开始。

看看这个例子……

    private void test()
    {
        WebBrowser wBrowser1 = new WebBrowser();
        wBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(wBrowser1_DocumentCompleted);
        wBrowser1.Url = new Uri("Web Page URL");
    }

    void wBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
        HtmlDocument document = (sender as WebBrowser).Document;
        // get elements and values accordingly. 
    }
于 2013-02-08T19:13:41.053 回答