一个Form里有一个WebBrowser和一个Button,在Button_Click里执行
htmlDocument=WebBrowser.Document得到当前document
当htmlDocument中某个htmlElement.invokemember("click")后会使的页面变化
我想抓变化后的document,可是WebBrowser的Document没有更新
必须出了Button_Click函数之后才变
方法一:
private void button1_Click(object sender, EventArgs e) { // xxxxx.InvokeMember("Click"); Thread.Sleep(1000); Application.DoEvents(); //WebBrowser刷新了 }
方法二:
注意变量的定义范围。
protected
void
Button_Click(
object
sender, EventArgs e)
{
ChangeDocument(htmlDocument);
// 此时,htmlDocument已经是变化后的对象
}
private void ChangeDocument( ref WebBrowser.Document wdoc)
{
// htmlDocument=wdoc;
// wdoc.htmlElement.invokemember("MouseOver");
}
{
ChangeDocument(htmlDocument);
// 此时,htmlDocument已经是变化后的对象
}
private void ChangeDocument( ref WebBrowser.Document wdoc)
{
// htmlDocument=wdoc;
// wdoc.htmlElement.invokemember("MouseOver");
}
不用ref也可以。