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

本文探讨了在使用WebBrowser控件时遇到的DocumentCompleted事件问题。当导航到一个URL时,可能会触发多次DocumentCompleted事件。文章提供了一种解决方案,即通过检查事件传递的URL来过滤出主页面加载完成的事件。

7.16 Marked to Write....


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

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

我也没干啥呀。

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

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


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

有时候明明就仅仅NAVI了一个URL。但是却会跳出来很多个DocumentCompleted事件的响应。

所以这里研究了一个解决方法:

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


分析了下面多个DC事件的原因,大概就是一个mainpage里面有好多个framework子网页。

对。有时候好像还有js载入引起的DC(可能有。忘记了,都过去这么久了)

处理办法也非常easy。就例如以下这一行就是精髓所在。

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

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



转载于:https://www.cnblogs.com/clnchanpin/p/6884916.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值