现在位置首页 / 项目实战 /正文

C#webbrowser网页打开iframe超时等待加载判断方法

作者: IT小兵 | 2013年9月11日| 热度:℃ | 评论: |参与:

winform 写个程序,用C#采集点数据,进行模拟点击提交。

但是如果web里面包含了iframes,尤其是多个,更尤其是网速慢的情况下就出现问题了。

C#webbrowser网页打开iframe超时等待加载判断方法

webbrowser 会判断是否加载完成,但是光ReadyState是WebBrowserReadyState.Complete 是不行的。

    如果包含了iframe,你再去获取iframe的数据就出错了。

这时候我想到的方法,就是能够等待加载完成不就行了。但是webbrowser 是ui线程。

你用  System.Threading.Thread.Sleep(1000);会直接停止加载数据的。

这里就用到 Application.DoEvents();

可以解决这个问题。

我们可以根据网速判断完全加载完成需的时间,设置一个值。等待10秒比如,

然后再去判断iframe数据。

   HtmlDocument doc = null;
                    try
                    {
                       doc= webBrowser1.Document.Window.Frames[1].Document;//框架下下拉框赋值
                    }
                    catch (Exception ex)
                    {
                        int i = 0;
                        while (i < 10)
                        {
                            Application.DoEvents();
                            System.Threading.Thread.Sleep(1000);
                            i++;
                        }
                        doc = webBrowser1.Document.Window.Frames[1].Document;//框架下下拉框赋值
                    }


转发注明来:IT分享 http://www.suchso.com

点击阅读本文所属分类的更多文章: 项目实战 。和高手一起交流:346717337
友荐云推荐

未注明转发、原文均为本站原创。分享本文请注明 原文链接

给您更多信息和帮助

在这里您可以找到更多:

技术交流群:346717337 Jquery插件交流

投稿:suchso@vip.qq.com

承接:企业网站门户/微网站/微商城/CMS系统/微信公众号运营/业务咨询

抢天猫双11红包
推荐使用阿里云服务器
echarts教程系列
本月最热文章

微信扫一扫,徜徉悠嘻网,您的休闲乐园

微信公众号:快乐每一天

随机文章
标签

技术交流群:346717337

投稿:suchso@vip.qq.com

专业专注:企业网站门户/微网站/微商城/CMS系统/微信公众号运营/付费问题咨询