Aslında her ne kadar WebClient yardımıyla bir web sayfasının HTML çıktısına alabilsekte özellikle angularJS gibi MVVM frameworkları kullanan web sitelerinde DOM ile HTML çıktısı farklılaşabilmekte zira javascript ifadeleri nerdeyse tüm dom yapısını değiştiriyorlar. Tam bu noktada ilgili web sayfasının javascriptler yüklendikten sonraki HTML çıktısını almak için phantomjs'nin index scriptini kullanıyoruz.


[TestMethod]
public void IndexView()
{
Process process = new Process();
string path = @"C:\sourcedirectory\"; //phantomjs'nin kayıtlı bulunduğu dizin
process.StartInfo.FileName = path + "phantomjs.exe"; //projenizin kendi yol bilgisini giriniz
process.StartInfo.WorkingDirectory = path;
process.StartInfo.Arguments = "examples/index.js http://google.com";
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;


process.OutputDataReceived += new DataReceivedEventHandler(OutputHandler);
process.ErrorDataReceived += new DataReceivedEventHandler(OutputHandler);

process.Start();
process.BeginOutputReadLine();
process.BeginErrorReadLine();
process.WaitForExit();

}
public static StringBuilder output = new StringBuilder();
static void OutputHandler(object sendingProcess, DataReceivedEventArgs outLine)
{
output.Append(outLine.Data);
Debug.WriteLine(outLine.Data);
}

Yorumlar

Bu kod parçacığına henüz yorum yapılmamış.

Yorum Yaz

Yorum yazabilmek için üye olunuz veya giriş yapınız