浅淡c#中的webbrowser控件

来源:互联网 发布:php oa办公系统源码 编辑:程序博客网 时间:2024/04/26 12:49

因为自己在网络学校上课,学校对于网络课程有阅读时间的考核,所以为了偷懒,就做一个自动阅读网络课程的外挂,其实也不能算外挂啦.目前初见成效...期间碰到N种问题,一直想放弃,不过每天晚上在点击课程时,就又拿出来做了.....对于坚持二字又有了新的体会....

其中有个问题困扰好多天,后来变通处理一下..不知道是MS的BUG还是类关系没弄清楚.....具体如下

 

课程的页面是采用了frameset,其中有个frame是某个课程的列表,比如第一章,第二章;可恶的是,有的第一章后面有子章节,如第一章>>某某...也就是tree结构,只不过它的子节点是动态加载,所以想要获取所以章节,必须全部点开tree节点....

 

在webBrowser1_DocumentCompleted完成后,查找出有tree结构的标识(例如HTML中含有expand.gif)

筛选出来后全部放在List<HTMLElement>,然后模拟点击.....问题来了

 

如果list<HTMLElement>中有4个<img/>,点击第一个后webBrowser1_DocumentCompleted会重新加载...加载完成后,list<HTMLElement>总数量不变,但里面的对象全部成为null.....后来改为定时器,取出第一个有tree标识的时候就点击,不再存list<HTMLElement>......

 

关于这个问题想了好久,也可能是微软件的bug,也有可能对webbrowser线程与对象不太理解,,,,哎

 

有碰到过这种情况的XDJM可以交流一下...