2011-01-14 5 views
0

Мне нужно запустить IE, перейти на множество разных сайтов и сохранить страницы, на которые я просматриваю. Может ли .NET работать с IE, как это, или это сценарий лучшего подхода?запуск и т. Д. И сохранение страницы

+2

Что вы хотите сказать? – Shoban

+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.

+0

Будет ли это работать, чтобы перейти на локальные сайты? –

2

Я бы предложил использовать для этого класс WebBrowser. Вы можете загрузить сайт, а затем вы можете использовать его обработчики событий для сохранения веб-страницы.

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 URLs а)