在C#中,使用WebKitBrowser,如何获取HTML?

时间:2012-01-22 05:28:50

标签: c# webkit

我今天早上和昨晚一直都在寻找答案。

我使用WebKit.NET作为内部浏览器来模拟浏览器活动,我按照教程here进行了操作。

因此,在创建表单时,我声明:

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

在webKitBrowser1_Navigated事件中,我尝试使用以下方式获取文档文本:

string content = webKitBrowser1.DocumentText;

内容为空

此外,我使用webkitBrowser,因为我需要webkit引擎来获取网页内容。

有关如何从WebKit Engine获取文本内容的任何想法?感谢。

1 个答案:

答案 0 :(得分:4)

当Web工具包引擎完成加载文档时,文档的内容(通过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);      
}