首页 新闻 会员 周边 捐助

WebBrowser里页面变化后怎么刷新

0
悬赏园豆:200 [已关闭问题]

我是在Button_Click里执行

htmlDocument=WebBrowser.Document

当htmlDocument中某个htmlElement.invokemember("MouseOver")后会使的页面变化

我想抓变化后的新增的超链接,可是WebBrowser没有更新

必须出了Button_Click函数之后才变,这里面到底执行了什么东西呢?我想让WebBrowser在Button_Click函数里面就变应该怎么做呢

问题补充: 我找到一种方法 private void button1_Click(object sender, EventArgs e) { // xxxxx.InvokeMember("Click"); Thread.Sleep(1000); Application.DoEvents(); //WebBrowser刷新了 } 谁能帮我解释下为什么吗? Thread.Sleep的时间可以确定吗?
Steven_W的主页 Steven_W | 初学一级 | 园豆:0
提问于:2010-01-27 21:42
< >
分享
其他回答(1)
-1

注意变量的定义范围。

 

protected void Button_Click(object sender, EventArgs e)

{

ChangeDocument(htmlDocument);

// 此时,htmlDocument已经是变化后的对象

}

private void ChangeDocument(ref WebBrowser.Document wdoc)

{

//htmlDocument=wdoc;

//wdoc.htmlElement.invokemember("MouseOver");

}

不用ref也可以。

邀月 | 园豆:25475 (高人七级) | 2010-01-28 08:47
0

   你是想实现什么功能?

Ou lei | 园豆:619 (小虾三级) | 2010-01-28 10:54
就是抓有JS的动态页面的超链接, 我想用webbrowser模拟行为 每次执行事件或JS后,读取新的DOM里超链接
支持(0) 反对(0) Steven_W | 园豆:0 (初学一级) | 2010-01-28 11:06
@Steven_W:哦,这样的东西还没做过。我开始想的就是类似爬虫那样的东西,将地址扒回来然后再请求,如果是JS的话还没想过要怎么做。
支持(0) 反对(0) Ou lei | 园豆:619 (小虾三级) | 2010-01-28 13:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册