码迷,mamicode.com
首页 > 其他好文 > 详细

一个Navi过程下多个DocumentCompleted事件问题的解决办法

时间:2014-10-29 21:47:18      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:.net   c#   webbrowser   controls   

7.16 Marked to Write....


七月份马克的一篇文章了,今天才想起来把他写完,呵呵。

原本是七月份用来做微博爬虫的,后来发现新浪对机器人的检测不好绕过,连简单地访问都会被检测出来,后来还封掉了一个小号。。。我也没干啥呀。

这新浪,纯HTML访问不让也就算了,连OAuth2.0里很多接口都不能用了,这样子爬数据的难度可就大大加大了。

废话不多说--------------------------------------------------------------------------------------------------------


在使用webbrowser控件的时候经常要涉及到DocumentCompleted事件,

有时候明明就只NAVI了一个URL,可是却会跳出来许多个DocumentCompleted事件的响应。所以这里研究了一个解决方法:

通过事件传过来的URL判断!


分析了以下多个DC事件的原因,大概就是一个mainpage里面有好多个framework子网页。对,有时候好像还有js加载引起的DC(可能有,忘记了,都过去这么久了)

处理办法也很简单,就如下这一行就是精髓所在。

if (e.Url.ToString().IndexOf(youMatchUrl) == 0)

通过DC事件传过来的e参数获取实际响应的地址,that is to say,e.Url就是实际上完成的网页的URL,而youMatchUrl就是你所要匹配的URL,具体是==0还是==多少,自己根据实际情况写条件语句就行了。
            



一个Navi过程下多个DocumentCompleted事件问题的解决办法

标签:.net   c#   webbrowser   controls   

原文地址:http://blog.csdn.net/xiaoy_h/article/details/37876667

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!