通过SHDocVw获取网页IFRAME的问题

问题描述

大家好,我通过SHDocVw想取得网页中的iframe的内容并向其中的表单赋值。在IE8中,网页是可以正常显示的,但通过代码取的IE并取iframe的内容时,发现iframe不是正常要显示的内容,而是跳转到提示不支持iframe的页面了。在同事的电脑上测试了一下,3台IE8均不行,1台IE11可以正常取到网页内容。这里我想问下为什么会这样。以及如果此路不通,有没有别的方式取网页的iframe并赋值的方法。如果还需要其他的问题资源请回复我再提供。C#初学者,实在找不到问题原因,请不吝赐教,非常感谢。以下是取iframe的代码IHTMLDocument2doc2=GetIHTMLDocument2();objectvalue=doc2.GetType().GetProperty("title").GetValue(doc2,null);objectjj;MessageBox.Show(value.ToString()+"拥有IFRAME数量:"+doc2.parentWindow.frames.length.ToString());for(inti=0;i<doc2.parentWindow.frames.length;i++){if(i==2){jj=i;Thread.Sleep(5000);HTMLWindow2Classframe=doc2.parentWindow.frames.item(refjj)asHTMLWindow2Class;StaticElem.println("rn第"+i+"层@@@@@rn"+frame.document.body.innerHTML);}}

以下是错误返回的网页源码片段:<TABLEstyle="PADDING-LEFT:5px;PADDING-RIGHT:20px"id=Table4border=0cellSpacing=0cellPadding=0width="100%"height="100%"><TBODYid=workPanel><TRclass=pane_hide><TD><IFRAMEonreadystatechange=stateListener(this)height="100%"src="/EnterpriseIndexAction.do"frameBorder=0width="100%">对不起,您的浏览器不支持IFRAME!</IFRAME></TD></TR><TRstyle="HEIGHT:0px"class=pane_hidevalign="bottom"><TDnoWrap></TD></TR><TRclass=pane><TD><IFRAMEonreadystatechange=stateListener(this)height="100%"src="/CwbbTaxAction.do?activity=getData&amp;ssq=YD&amp;reportname=SB_CW_LRB_2005"frameBorder=0width="100%">对不起,您的浏览器不支持IFRAME!</IFRAME></TD></TR><TRstyle="HEIGHT:0px"class=panevalign="bottom"><TDnoWrap></TD></TR></TBODY></TABLE>

时间: 2024-09-24 12:01:50

通过SHDocVw获取网页IFRAME的问题的相关文章

mshtml-通过SHDocVw获取网页IFRAME的问题

问题描述 通过SHDocVw获取网页IFRAME的问题 大家好,我通过SHDocVw想取得网页中的iframe的内容并向其中的表单赋值.在IE8中,网页是可以正常显示的,但通过代码取的IE并取iframe的内容时,发现iframe不是正常要显示的内容,而是跳转到提示不支持iframe的页面了. 在同事的电脑上测试了一下,3台IE8均不行,1台IE11可以正常取到网页内容. 这里我想问下为什么会这样.以及如果此路不通,有没有别的方式取网页的iframe并赋值的方法. 如果还需要其他的问题资源请回复

c bho webbrowser-用C#开发BHO,如何在获取网页对话框中的iframe中的元素信息

问题描述 用C#开发BHO,如何在获取网页对话框中的iframe中的元素信息 用C#开发BHO,如何在获取网页对话框中的iframe中的元素信息 解决方案 遍历所有的iframe,然后再一个个去获取.或者给每个iframe插入一个javascript,让它去获取,再返回结果给你 解决方案二: 在正常页面中可以取到,在打开的窗口对话框中的iframe中 如何取呢?

如何获取网页中的密码和文本输入框的内容

一.介绍 网页中的密码输入框和一般不同,它没有句柄之类的,但是通过获取IE的IHTMLInputTextElement接口,就可以获取网页中的输入框(包括文本和密码输入框)的内容了. 源代码在VC知识库首页运行效果图如下: 二.具体代码 VARIANT id, index; CComPtr<IDispatch> spDispatch; CComQIPtr<IHTMLDocument2, &IID_IHTMLDocument2> pDoc2; CComPtr<IHTML

java-HttpClient怎么获取到iframe中的内容

问题描述 HttpClient怎么获取到iframe中的内容 用HttpClient登陆后,页面中的主要内容是通过iframe加载过来的 然后我试着用HttpClient构造参数去加载iframe时,却加载不了,post提交时返回状态码302,跳转到登陆界面. 请问怎样才能访问到该iframe,并获取到该iframe中的内容. 在网页上打开截取的包如下 直接复制URL 在新窗口打开iframe的话 如下 加了referer之后也是一样的 解决方案 我也遇到了同样的问题!还没找到解决方式!楼主找到

PHP获取网页标题的3种实现方法代码实例

 这篇文章主要介绍了PHP获取网页标题的3种实现方法,分别使用CURL.file()函数.file_get_contents实现,需要的朋友可以参考下 一.推荐方法 CURL获取   <?php $c = curl_init(); $url = 'www.jb51.net'; curl_setopt($c, CURLOPT_URL, $url); curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); $data = curl_exec($c); curl_clo

andord socket连接网站,怎么获取网页数据

问题描述 andord socket连接网站,怎么获取网页数据 可以连上baidu.com ,但是到readline(),就卡助了...怎么获取数据阿,或者是显示出百度的主页,求救

PHP获取网页上任意表格中内容的通用程序的制作

程序|网页 转载请联系作者:Email: pengwuwang@21cn.com   darlingpeng@sina.com  在工作中,经常需要对网页上的表格内容进行处理,但是,由于表格内容制作过程中的随意性,跨行跨列经常发生,所以我作了这几个函数,以获取表格的内容,程序中重要的地方已作了注解,所以在此不再重复说明,经过测试,非常成功.所以拿出来供大家共享.<?php//作者: 王朋武//日期: 2005,3,31//目的: 获取网页上(任意跨行跨列的)表格中的内容function fun_

如何获取网页密码框中的密码

前言 本人是在家中上网,经常有一些BBS的密码懒得记了,就用IE的自动密码保存功能,这样一来是方便了,但却有一个麻烦,一旦机子不行了,想要重装操作系统了,这些密码却也取不出了,还得重新申请,好麻烦!因此我就写了一个工具,可以取得网页密码框的密码. 因为网页密码框不是一般的EDIT控件,因此不能取得网页密码框的句柄.要实现这个功能,只好通过WebBrowser控件的有关COM接口了.因此取得这些接口是整个程序的关键.有两种方法可以取得WebBrowser控件的接口,接下来我们会逐一介绍,并提供示例

C# 获取网页html源文件

 /// <summary> /// 获取网页html源文件 /// </summary> /// <param name="url">网页地址</param> /// <param name="encodingStr">网页文件编码字符串</param> /// <returns>html源文件</returns> #region GetPageSource publi