4

如何使用 C# 下载动态网页源?更具体地说,例如,我有一个页面http://example.com。下载了源码,但是因为AJAX,给源码增加了几行,收藏后没有得到我想要的。有谁知道如何“刷新”源代码,或者是否有办法实现这样的目标?您现有的“静态”代码:

WebClient client = new WebClient();
Byte[] pageData = client.DownloadData("http://example.com" + address);
string pageHtml = Encoding.UTF8.GetString(pageData);
Console.WriteLine(pageHtml);
Console.ReadKey();

问候。

4

1 回答 1

2

您可以使用 WebBrowser 组件创建表单。假设你命名它 browser

private void PrepareDocument()
{
   browser.Navigate("http://somewebsite.com");
   var timer = new Timer(1000);
   timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
   timer.Enabled = true;
}

private void timer_Elapsed(object sender, ElapsedEventArgs e)
{
   //parse the document, find the data that should be loaded after ajax call
   if(browser.ReadyState == WebBrowserReadyState.Complete && 
      browser.Document.GetElementById("ajax-divId") != null)
   {
      timer.Enabled=false;
      ProceedOnDocument();
   }
}

private void ProceedOnDocument()
{
   //your code here
}
于 2015-01-06T18:41:52.707 回答