我今天早上和昨晚一直都在寻找答案。
我使用WebKit.NET作为内部浏览器来模拟浏览器活动,我按照教程here进行了操作。
因此,在创建表单时,我声明:
this.webKitBrowser1.Navigated += new WebBrowserNavigatedEventHandler(webKitBrowser1_Navigated);
在webKitBrowser1_Navigated事件中,我尝试使用以下方式获取文档文本:
string content = webKitBrowser1.DocumentText;
但内容为空。
此外,我使用webkitBrowser,因为我需要webkit引擎来获取网页内容。
有关如何从WebKit Engine获取文本内容的任何想法?感谢。
答案 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);
}