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

标签 c# webkit

我今天早上和昨晚一直在寻找这个问题的答案。

我使用 WebKit.NET作为模拟浏览器事件的内部浏览器,我遵循了教程 here .

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

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

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

string content = webKitBrowser1.DocumentText;

但是内容是空的

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

知道如何从 WebKit 引擎获取文本内容吗?谢谢。

最佳答案

当 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);      
}

关于c# - 在C#中,使用WebKitBrowser,如何获取HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8959210/

相关文章:

c# - 删除对对象的引用时结束线程

memory - WebKit 中的最大调用堆栈大小是 V8 的三倍吗?为什么?

html - 如果我有文本,div 的渐变背景不会显示?

delphi - 如何在 Delphi 应用程序中嵌入除 IE<n> 之外的浏览器对象

javascript - 如何使用 jQuery 在客户端的 HTML 表中显示图像

c# - LINQ to Entities 仅支持转换 EDM 基元或枚举类型错误

javascript - 验证 AjaxFileUpload 中存在的文件是否已上传或挂起

Python GTK + webkit - 在 gtk.main() 之后插入 JavaScript

java - iframe 上的 webview loadDataWithBaseUrl

c# - 如果文本超出文本 block 的边界,则更改字体大小