日期:2014-05-17  浏览次数:20835 次

WebBrowser透过id查不到页面上的元素
本帖最后由 hawesome123 于 2013-07-06 14:51:23 编辑


我需要获取上图中用长框框标注起来部分的元素<b name="selectedcard"...... style="display:none;"></b>,并将其style改成:style="display:bold;"

离它最近且有id标注的是图中标注的<div id="roof"...>....</div>

我在webBrowser的documentCompleted事件中做如下处理,找不到所需ID


        private void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            HtmlDocument doc= wb.Document;
            List<string> Ids = new List<string>();
            foreach (HtmlElement he in doc.All)
            {
                int number=doc.All.Count;
                if (he.Id != null)
                {
                    Ids.Add(he.Id);
                }
                if (he.Id == "roof")
                {
                    
                }
            }
        }


问题如下:多次加载相同的网页,发现每次number=doc.All.Count获取的数目不一样;
数组Ids中Id!=null的数目也不一样;
偶尔能查到id=roof的元素,但是大部分时间查不到。 跪求高手解疑啊。

我最终的目的是要改长框框标注部分的style,可以通过其他方式实现嘛?