private void button1_Click(object sender, EventArgs e)
{
webBrowser1.Navigate(textBox1.Text);
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
WebBrowser web = (WebBrowser)sender;
richTextBox1.Text = web.DocumentText;
}
上面是示例代码。 它提供了所有当前打开的文本,如果内容由JavaScript更新,它可见,但Document.Text不会更新。
请帮助人
答案 0 :(得分:4)
我遇到了同样的问题。使用以下示例代码:
IHTMLDocument2 doc = webBrowser1.Document.DomDocument as IHTMLDocument2;
string content = doc.body.innerText;
另外,将mshtml添加到项目的引用中(如果你不知道如何添加引用,只需google它)。
实际上,无论何时使用此代码,doc
变量中的值都是webbrowser内容的更新版本。
祝你好运
答案 1 :(得分:0)
我猜想在 DocumentCompleted事件之后,正在修改内容的页面上执行的javascript正在发生;也许您可以尝试其他事件,例如“无效”。
WebBrowser.DocumentText也很多都没有反映对DOM的任何更改,您可能需要通过WebBrowser.Document属性导航DOM。
http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.document.aspx