Мне нужно отобразить страницу AngularJs на стороне сервера (C #), поэтому я использовал Phanthomjs из библиотеки NReco.
var phantomJS = new NReco.PhantomJS.PhantomJS();
phantomJS.OutputReceived += PhantomJS_OutputReceived;
phantomJS.RunScript(
$@"
var page = require('webpage').create();
page.open('${uri}', function(status) {{
console.log(page.content);
phantom.exit();
}});",
null);
private void PhantomJS_OutputReceived(object sender, System.Diagnostics.DataReceivedEventArgs e)
{
Console.WriteLine("PhantomJS output: {0}", e.Data);
}
Моя проблема в обработчике событий PhantomJS_OutputReceived запускается несколько раз, и в каждом триггере возвращается одна часть содержимого страницы.