[英]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.