В C #, используя WebKitBrowser, как получить HTML? - PullRequest
4 голосов
/ 22 января 2012

Я искал ответ на этот вопрос все это утро и прошлую ночь.

Я использую WebKit.NET в качестве внутреннего браузера для проверки активности браузера, и я следовал учебному пособию здесь .

Итак, при создании формы я заявляю:

this.webKitBrowser1.Navigated += new WebBrowserNavigatedEventHandler(webKitBrowser1_Navigated);

Где в событии webKitBrowser1_Navigated я пытаюсь получить текст документа, используя:

string content = webKitBrowser1.DocumentText;

Но содержимое пусто .

Кроме того, я использую webkitBrowser, потому что мне нужен движок webkit для получения веб-контента.

Есть идеи, как я могу получить текстовое содержимое из WebKit Engine? Спасибо.

1 Ответ

4 голосов
/ 22 января 2012

Содержимое документа (через свойство DocumentText) доступно, когда механизм веб-набора завершит загрузку документа. Предварительный доступ к свойству приведет к пустому DocumentText свойству.

Вы должны использовать событие DocumentCompleted, чтобы дождаться загрузки документа.

Следующий код показывает, как использовать событие DocumentCompleted:

webKitBrowser1.Navigate("www.google.com");
webKitBrowser1.DocumentCompleted += 
     new WebBrowserDocumentCompletedEventHandler(webKitBrowser1_DocumentCompleted);

void webKitBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
  string documentContent = webKitBrowser1.DocumentText;

  MessageBox.Show(documentContent);      
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...