我今天早上和昨晚一直在寻找这个问题的答案。
我使用 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/