+ -
当前位置:首页 → 问答吧 → 自动登录问题浏览器问题

自动登录问题浏览器问题

时间:2011-12-21

来源:互联网

自己动手做了个浏览器C#,但是有些页面内嵌了frame框架,访问本网页时并不能得到网页上所显示的链接等内容,怎么才能访问到这些内容呢(网页源码中没有,只有一个frame框架名称),而且在另一个页面中,frame中又嵌套了frame,我查了一些跨域访问的方法,总算得到了IHTMLDocument对象,但是却不知道怎么遍历他的元素,请教高手?

作者: l747474   发布时间: 2011-12-21

你才是高手啊,写成了能分享一下吗?

作者: yth126   发布时间: 2011-12-22

IHTMLDocument2 document = (IHTMLDocument2)WebBrowser1.Document.DomDocument;
试下使用document.all来遍历
document.getElementById("元素1").value
document.getElementsByName()

作者: zdbb   发布时间: 2011-12-22

你好,网页并不是我做的。我查看源代码只能看到frame为止,看不到元素id,name之类的,整么能遍历元素呢?
引用 2 楼 zdbb 的回复:

IHTMLDocument2 document = (IHTMLDocument2)WebBrowser1.Document.DomDocument;
试下使用document.all来遍历
document.getElementById("元素1").value
document.getElementsByName()

作者: l747474   发布时间: 2011-12-22

这样不行么?

C# code

            foreach (HtmlElement ele in this.webBrowser1.Document.GetElementById("框架ID").All)
            {
                //ele就是各个元素
            }

作者: mayswind   发布时间: 2011-12-22

这个我也明白,为了跨域访问,我得到的对象是IHTMLDocument,好像元素也不是HtmlElement类型的。
引用 4 楼 mayswind 的回复:

这样不行么?

C# code

foreach (HtmlElement ele in this.webBrowser1.Document.GetElementById("框架ID").All)
{
//ele就是各个元素
}

作者: l747474   发布时间: 2011-12-22

你用的是DomDocument吧,我用的是Document。

引用 5 楼 l747474 的回复:

这个我也明白,为了跨域访问,我得到的对象是IHTMLDocument,好像元素也不是HtmlElement类型的。引用 4 楼 mayswind 的回复:

这样不行么?

C# code

foreach (HtmlElement ele in this.webBrowser1.Document.GetElementById("框架ID").All)
{
//ele就是各个元素……

作者: mayswind   发布时间: 2011-12-22