webBrowser无法触发DocumentCompleted事件

李敢敢 2019-05-17 10:22:33
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
////将所有的链接的目标,指向本窗体
//foreach (HtmlElement archor in this.webBrowser1.Document.Links)
//{
// archor.SetAttribute("target", "_self");
//}
////将所有的FORM的提交目标,指向本窗体
//foreach (HtmlElement form in this.webBrowser1.Document.Forms)
//{
// form.SetAttribute("target", "_self");
//}
MessageBox.Show("Test");
}

private void Test_Load(object sender, EventArgs e)
{
webBrowser1.ScriptErrorsSuppressed = true;
webBrowser1.Url = new Uri("http://www.baidu.com");
}
private void webBrowser1_NewWindow(object sender, CancelEventArgs e)
{
e.Cancel = true;
}
昨天用百度搜索一直能触发DocumentCompleted事件,不知道今天为什么用搜索无法触发DocumentCompleted了,求大神看看
...全文
2639 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_41474050 2019-05-30
  • 打赏
  • 举报
回复
大神,你知道easyui分页实现时查询到的数据闪了一下就又消失了吗?
Csdn技术大神 2019-05-23
  • 打赏
  • 举报
回复
加载完了才可以触发的,再试试吧!
ZhuCheng Xie 2019-05-22
  • 打赏
  • 举报
回复
百度可以触发DocumentCompleted事件,搜索结果页无法触发。
ZhuCheng Xie 2019-05-22
  • 打赏
  • 举报
回复
一般不触发是文档没有加载完成 可能是百度搜索页引用的某些资源,比如js啊,css文件你的网络访问很慢或者访问不到 这样就会一直加载,直到超时为止,可能要很长的时间 你看起来就像DocumentCompleted无法触发 当网络稳定的时候,应该就没有这个问题了
tone1128 2019-05-21
  • 打赏
  • 举报
回复
楼主 完全可以触发的 你试试这个
xiaoxiangqing 2019-05-20
  • 打赏
  • 举报
回复
有些网页,执行里面的click都不行,大部分网页都可以,估计是网页做了什么限制
xiaoxiangqing 2019-05-20
  • 打赏
  • 举报
回复
不能提示,是不是出错了?
坤小白 2019-05-20
  • 打赏
  • 举报
回复
一般来说按照解释是加载完成才会触发,但是这个方法处理不好的话就会隐藏BUG,慎用
NCScan 2019-05-19
  • 打赏
  • 举报
回复
引用 6 楼 qq_33911540的回复:
[quote=引用 3 楼 道潯常 的回复:] https://www.cnblogs.com/SkyD/archive/2009/08/06/1540028.html 这个博客对这个解释的比较合理,你细看一下
我的问题是DocumentCompleted事件不触发。。只有在百度搜索的时候不触发,其他的页面全都是正常的[/quote] 当然不会触发因为是异步加载的
李敢敢 2019-05-17
  • 打赏
  • 举报
回复
引用 15 楼 秋的红果实 的回复:
geckofx,CefSharp都可以替代webbrowser,试一试
CefSharp的FrameLoadEnd在百度搜索好像也是无效果。。
stherix 2019-05-17
  • 打赏
  • 举报
回复
引用 17 楼 qq_33911540 的回复:
[quote=引用 16 楼 stherix 的回复:] 一般不触发是文档没有加载完成 可能是百度搜索页引用的某些资源,比如js啊,css文件你的网络访问很慢或者访问不到 这样就会一直加载,直到超时为止,可能要很长的时间 你看起来就像DocumentCompleted无法触发 当网络稳定的时候,应该就没有这个问题了
修改User-Agent后有百度推广广告无法触发DocumentCompleted[/quote] 估计是广告供应商是google,广告里面又用了它的一些库,而在国内是不可访问的,所以会卡很久
李敢敢 2019-05-17
  • 打赏
  • 举报
回复
引用 16 楼 stherix 的回复:
一般不触发是文档没有加载完成 可能是百度搜索页引用的某些资源,比如js啊,css文件你的网络访问很慢或者访问不到 这样就会一直加载,直到超时为止,可能要很长的时间 你看起来就像DocumentCompleted无法触发 当网络稳定的时候,应该就没有这个问题了
修改User-Agent后有百度推广广告无法触发DocumentCompleted
stherix 2019-05-17
  • 打赏
  • 举报
回复
一般不触发是文档没有加载完成 可能是百度搜索页引用的某些资源,比如js啊,css文件你的网络访问很慢或者访问不到 这样就会一直加载,直到超时为止,可能要很长的时间 你看起来就像DocumentCompleted无法触发 当网络稳定的时候,应该就没有这个问题了
秋的红果实 2019-05-17
  • 打赏
  • 举报
回复
geckofx,CefSharp都可以替代webbrowser,试一试
李敢敢 2019-05-17
  • 打赏
  • 举报
回复
使用UrlMkSetSessionOption修改User-Agent后无法触发DocumentCompleted
橘子皮... 2019-05-17
  • 打赏
  • 举报
回复
我想知道selenium可以嵌入窗体里么
秋的红果实 2019-05-17
  • 打赏
  • 举报
回复
李敢敢 2019-05-17
  • 打赏
  • 举报
回复
引用 8 楼 秋的红果实 的回复:
你改动哪些地方了? 还有,是不是换浏览器了?
昨天本来是正常运行,突然就不触发DocumentCompleted,直到刚才又好了
李敢敢 2019-05-17
  • 打赏
  • 举报
回复
引用 8 楼 秋的红果实 的回复:
你改动哪些地方了? 还有,是不是换浏览器了?
我把User-Agent改了,用的就是ie内核的webbrowser
李敢敢 2019-05-17
  • 打赏
  • 举报
回复
引用 4 楼 秋的红果实 的回复:
亲测,可以触发
现在又好了。。。谢谢你们的回复。。
加载更多回复(9)

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧