启动ie并保存页面

时间:2011-01-14 18:45:56

标签: .net internet-explorer powershell

我需要启动IE浏览器,浏览到许多不同的站点并保存我浏览的页面。 .net可以像这样使用IE,还是脚本更好的方法?

3 个答案:

答案 0 :(得分:3)

如果您只想保存页面,请执行以下操作。在这里你得到的是html,而不是页面的屏幕截图。

    string url = "http://google.com";
    string strResult = "";
    WebResponse objResponse;
    WebRequest objRequest = System.Net.HttpWebRequest.Create(url);
    objResponse = objRequest.GetResponse();
    using (StreamReader sr = new StreamReader(objResponse.GetResponseStream()))
    {
        strResult = sr.ReadToEnd();
        // Close and clean up the StreamReader
        sr.Close();
    }
    // Display results to a webpage
    //Response.Write(strResult);
    Console.WriteLine(strResult);
    Console.ReadKey();

如果您需要页面图片,请使用autoit或watin。

答案 1 :(得分:2)

我建议使用WebBrowser类。您可以加载该站点,然后您可以使用其事件处理程序来保存该网页。

答案 2 :(得分:2)

接受的答案太复杂了。如果您真的只需要下载源html,请使用此函数:

function Download-Page([string]$url) {
  $w = New-Object net.webclient
  $w.DownloadString($url)
}

然后你可以保存这样的内容:

Download-Page http://www.google.com | Set-Content d:\google.html

(这也适用于localhost网址)