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

son*_*gyy 4 c# webkit

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

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

所以在创建表单时,我声明:

this.webKitBrowser1.Navigated += new WebBrowserNavigatedEventHandler(webKitBrowser1_Navigated);
Run Code Online (Sandbox Code Playgroud)

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

string content = webKitBrowser1.DocumentText;
Run Code Online (Sandbox Code Playgroud)

内容是空的

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

关于如何从 WebKit 引擎获取文本内容的任何想法?谢谢。

Han*_*ans 5

DocumentText当 web kit 引擎完成加载文档时,文档的内容(通过属性)可用。事先访问该属性将导致一个空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);      
}
Run Code Online (Sandbox Code Playgroud)