Adobe DTM выгружает правила на основе событий

Когда вы делаете WebRequest, вы просите сервер предоставить вам файл с образцом, содержимое этого файла еще не было разобрано / выполнено веб-браузером, и поэтому javascript на нем еще ничего не сделал.

Вам нужно использовать инструмент для выполнения JavaScript на странице, если вы хотите увидеть, как выглядит страница после анализа в браузере. Один из вариантов - использование встроенного веб-браузера .net: http://msdn.microsoft.com/en-au/library/aa752040 (v = vs.85) .aspx

Элемент управления веб-браузером может перемещаться и загружать страницу, а затем вы можете запросить его DOM, который будет изменен JavaScript на странице.

EDIT (пример):

Uri uri = new Uri("http://www.somewebsite.com/somepage.htm");

webBrowserControl.AllowNavigation = true;
// optional but I use this because it stops javascript errors breaking your scraper
webBrowserControl.ScriptErrorsSuppressed = true;
// you want to start scraping after the document is finished loading so do it in the function you pass to this handler
webBrowserControl.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowserControl_DocumentCompleted);
webBrowserControl.Navigate(uri);

private void webBrowserControl_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    HtmlElementCollection divs = webBrowserControl.Document.GetElementsByTagName("div");

    foreach (HtmlElement div in divs)
    {
        //do something
    }
}

0
задан Riccardo Malesani 25 February 2015 в 10:24
поделиться