c# webBrowser 获取Ajax信息 .

c#中 webbrowser控件对Ajax的执行,没有任何的响应,难于判断Ajax是否已经执行完毕,我GG了一下午,找到一个方法,介绍一下:

  假如在页面中有个<div id=result></div>是通过Ajax来改变值,当webBrowser1.StatusText == "完成"后,获取一下这个div

HtmlElement target = webBrowser1.Document.GetElementById("result");

  先判断一下,再添加响应函数

                                if (target != null)
                                {
                                    target.AttachEventHandler("onpropertychange", new EventHandler(handler));
                                }

其中handler为响应函数名称。

        private void handler(Object sender, EventArgs e)
        {
            HtmlElement div = webBrowser1.Document.GetElementById("result");
            if (div == null) return;
            String x = div.InnerHtml; // etc
            if (!x.Equals("Loading...", StringComparison.InvariantCultureIgnoreCase))
            {
                // Now the element has been populated, do something
            }
        }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值