繁体   English   中英

在C#中解析HTML,不断更新

[英]Parsing HTML in C# that is updating constantly

我有一个使用AJAX查询显示一些数据的网页。 我需要在C#程序中解析一些这些数据。

问题是,当我查看我的网页的源代码时,这并没有显示数据,因为这是由AJAX脚本自动生成并修改DOM。

如果我选择网页上的所有内容并使用Chrome进行“检查元素”,我会获得完整的HTML代码,其中包含我要提取的数据,这些数据位于各种表格中。

我试过做的是webBrowser1.Navigate("www.site.com") ,然后在我的webBrowser1_DocumentCompleted()事件中,我这样做:

var name = webBrowser1.Document.GetElementById("table_1_r_7_c_2");

问题是webBrowser1没有返回完整的HTML代码,因为一些代码是由AJAX查询生成的。

有谁知道如何在C#中实现这种行为?

DocumentCompleted事件有点误导,因为它也会触发页面上的每个AJAX请求。 您可以执行以下操作来检查是否是加载的实际页面,或者查找特定请求的其他变体。

  private void OnDocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
       if (e.Url.AbsolutePath == webBrowser1.Url.AbsolutePath)
       {
          // page loaded
       }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM