2012-05-12 2 views
2

Прежде всего - я не знаю, является ли «рендер» правильным словом. Мне нравится получать информацию с веб-сайта. В настоящий момент я использую элемент управления WebBbrowser. Теперь мне нравится использовать HttpWebRequests, потому что я думаю, что это намного быстрее, и потоки можно использовать более легко. Но я не могу их использовать, потому что HTML-выводная строка, которую я получаю от HttpWebRequest, имеет много JavaScript внутри, из которой будет создана необходимая мне информация. Веб-браузер «отображает» JavaScript для чтения HTML. Как сделать этот шаг «вручную», чтобы я мог использовать HttpWebRequests?Как «визуализировать» HTML без управления WebBrowser

Надеюсь, вы понимаете, что я хочу.

+0

Вы можете предпочесть WebClient над HttpWebRequest. В любом случае, похоже, что вы пытаетесь очистить страницы, которые не предназначены для использования таким образом, и будут нарушать условия использования. Вы проверяли, существует ли API (WebService), который позволит вам получить информацию? – Filburt

+0

Пожалуйста, пересмотреть свой вопрос, это очень неясно. – user845279

+0

@ user845279 Вопрос сам по себе довольно ясен, но уже был дан ответ в другом месте. Я оставляю его кому-то другому, чтобы найти соответствующий дубликат. – Filburt

ответ

0

Я решил свою проблему с проектом под названием Awesomium. В этом thread вы найдете все, что вам нужно, чтобы получить html с исполняемым javascript. «Специальная деталь» такова:

var sourceVal = webView.ExecuteJavascriptWithResult("document.getElementsByTagName('html')[0].outerHTML;"); 

if (sourceVal != null) 
{ 
    using (sourceVal) 
    { 
     html = sourceVal.ToString(); 
    } 
} 
+0

Вы также можете сделать это с помощью объектов HTTPWebrequest и httpwebresponse. –

+1

Не могли бы вы объяснить мне, как выполнить Javascript внутри html, полученного из HTTPWebRequest/HTTPWebResponse? – netblognet

0

поэтому, если вам нужен механизм рендеринга javascript, я предлагаю вам посмотреть проект selenium.

Смежные вопросы